pol2cart in loop and pre-allocating

1 view (last 30 days)
hi all,
how can I put [x,y,z]=pol2cart(theta,rho,z), in tripple loop for different values of heta,rho,z, as well how to pre allocate [x,y,z]?

Accepted Answer

KSSV on 9 Jun 2020
You need not preallocate (x,y,z) when you use the function.....If you want to run it thrice, you can do the following.
X = cell(3,1) ; Y = cell(3,1);Z = cell(3,1) ;
for i = 1:3
[x,y,z]=pol2cart(theta{i},rho{i},z{i}) ;
X{i} = x ; Y{i} = y ; Z{i} = z ;
If all the size of theta, rho, z are same. You can use matrices instead of cells.
N = length(theta) ;
X = zeros(N,3) ; Y = zeros(N,3); Z = zeros(N,3) ;
for i = 1:3
[x,y,z]=pol2cart(theta(:,i),rho(:,i),z(:,i)) ;
X(:,i) = x ; Y(:,i) = y ; Z(:,i) = z ;
Oday Shahadh
Oday Shahadh on 9 Jun 2020
yes there is a values ,it works just in case that insert plot command inside the loop with ('.')
I need to put the plot outside,pls

Sign in to comment.

More Answers (1)

David Hill
David Hill on 9 Jun 2020
No need for loop or for preallocating when you just execute for arrays of theta,rho, and Z.
Z = linspace(10,100,100);


Find more on Loops and Conditional Statements 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!