How to fill a matrix with a condition?
14 views (last 30 days)
Show older comments
Juraj on 8 Dec 2013
Commented: sixwwwwww on 8 Dec 2013
I want to make some plots, and for that I need a matrix of which every element corresponds to one point in the xy plane, so I have:
The way I normally do it is:
z(:,:)=<some function I want to plot which includes rho and phi>
This time I need a condition: for rho<=25 I want different function values than for 25<rho&&rho<35. How can this be done? I tried to use a loop:
z(:,:)=<some function values>
z(:,:)=<some other values>
but that didn't work.
Thanks for the help.
Edited: sixwwwwww on 8 Dec 2013
try doing it like this:
[x, y] = meshgrid(-35:.25:35);
[phi, rho] = cart2pol(x, y);
z = zeros(size(x));
z(rho <= 25) = rho(rho <= 25) - phi(rho <= 25); % Here you can use your function 1
z(rho > 25) = rho(rho > 25) + phi(rho > 25); % Here you can use your function 2
mesh(x, y, z)
I hope it helps. Good luck!
More Answers (0)
Find more on Multidimensional Arrays in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!