MATLAB: For loop and coordinates

coordinatesfor loop

hello,
the gencircle function generates the coordinate for an inscript polygon. But off course in the for loop i obtain only the last iteration. how can i store the results of each loop in a matrix?
xo=[1 2];
yo=[-1 -0.5];
r=0.01;
N=10;
theta=2*pi/N*(1:N+1);
th=0.00235;
for i=1:length(xo)
[xout, yout]=gencircle(xo(i),yo(1),r,N);
[xin, yin]=gencircle(xo(i),yo(1),r-th,N);
end

Best Answer

I don't know the output dimensions of the function gencircle, so I can suggest a general solution using cell arrays. If you know the dimension, a numeric array will also work.
xo=[1 2];
yo=[-1 -0.5];
r=0.01;
N=10;
theta=2*pi/N*(1:N+1);
th=0.00235;
xout = cell(1,length(xo));
yout = cell(1,length(xo));
xin = cell(1,length(xo));
yin = cell(1,length(xo));
for i=1:length(xo)
[xout{i}, yout{i}]=gencircle(xo(i),yo(1),r,N);
[xin{i}, yin{i}]=gencircle(xo(i),yo(1),r-th,N);
end
Access the elements using brace indexing. For example
xout{1} %% xout for i==1