This syntax of max() works element-wise and returns a matrix.
Then, if the matrix is not square, the * multiplication can't work here.
So, depending of what you want to do, you shall either use .* instead of *,
or fix the way you use max().
>lumimins=[ 0.1, 0.5, 0.7, 0.9 ];
>// doesn't work*:*
>monos(:,:,1..length(lumimins)) = ( gray(:,:) >= lumimins(1:$) ) .* 1;
>is there a way to generate a plane for each lumimins with automatic traverse?
>I studied your solution and think there will be a very huge array with
>kronecker operator and generated the planes with a for loop.
There is a common compromise between the used amount of memory and the algorithmic speed.
There we are.
>And now I have the problem with the max() function for all planes,
>at which in the resulting plane each pixel should have the max. values of
>the according pixels of the planes mentioned.
>max() works of a known number of planes:
>resu=max(monos (:,:,1),monos (:,:,2),monos (:,:,3))
>What is the smartest way to code, if the number of planes can differ?
I am afraid that i don't clearly catch your point.
If what i guess is not too far from what you mean, here is a way:
MAX = monos(:,:,1);
for i = 2:N
MAX = max(MAX, monos(:,:,i))