# Vectorization with max / min in matrix

4 messages
Open this post in threaded view
|
Report Content as Inappropriate

## Vectorization with max / min in matrix

 Hi, I have two vectors/matrix, and I want to get his minimum values for every position without doing for/while/etc statement But there is a problem: a = randi([1 31],1,10); b = randi([1 31],1,10); a( a < b ) = b; error: A(I) = X: X must have the same size as I I don't know why doesn't work, have the same size (perhaps it is not a bug because is the same error in Matlab). What is going wrong? The original idea was to apply this to a matrix, but does not work with a vector... a = randi([1 31],8,8); b = randi([1 31],8,8); a( a < b ) = b; Greetings, Pedro _______________________________________________ Help-octave mailing list [hidden email] https://mailman.cae.wisc.edu/listinfo/help-octave
Open this post in threaded view
|
Report Content as Inappropriate

## Re: Vectorization with max / min in matrix

 On Sun, Mar 3, 2013 at 4:19 PM, Pedro <[hidden email]> wrote: > Hi, > > I have two vectors/matrix, and I want to get his minimum values for > every position without doing for/while/etc statement > > But there is a problem: > > a = randi([1 31],1,10); > b = randi([1 31],1,10); > a( a < b ) = b; > error: A(I) = X: X must have the same size as I > > I don't know why doesn't work, have the same size (perhaps it is not a > bug because is the same error in Matlab). > What is going wrong? > > The original idea was to apply this to a matrix, but does not work > with a vector... > > a = randi([1 31],8,8); > b = randi([1 31],8,8); > a( a < b ) = b; > > Greetings, > Pedro Ok! This can be done with min function use: min(a,b) _______________________________________________ Help-octave mailing list [hidden email] https://mailman.cae.wisc.edu/listinfo/help-octave
Open this post in threaded view
|
Report Content as Inappropriate

## Re: Vectorization with max / min in matrix

 or, less simply, a( a < b ) = b( a < b ); On Sun, Mar 3, 2013 at 10:29 AM, Pedro <[hidden email]> wrote: > On Sun, Mar 3, 2013 at 4:19 PM, Pedro <[hidden email]> wrote: >> Hi, >> >> I have two vectors/matrix, and I want to get his minimum values for >> every position without doing for/while/etc statement >> >> But there is a problem: >> >> a = randi([1 31],1,10); >> b = randi([1 31],1,10); >> a( a < b ) = b; >> error: A(I) = X: X must have the same size as I >> >> I don't know why doesn't work, have the same size (perhaps it is not a >> bug because is the same error in Matlab). >> What is going wrong? >> >> The original idea was to apply this to a matrix, but does not work >> with a vector... >> >> a = randi([1 31],8,8); >> b = randi([1 31],8,8); >> a( a < b ) = b; >> >> Greetings, >> Pedro > > Ok! > This can be done with min function > > use: > min(a,b) > _______________________________________________ > Help-octave mailing list > [hidden email] > https://mailman.cae.wisc.edu/listinfo/help-octave_______________________________________________ Help-octave mailing list [hidden email] https://mailman.cae.wisc.edu/listinfo/help-octave