For loop and coordinates

3 次查看(过去 30 天)
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

采纳的回答

Ameer Hamza
Ameer Hamza 2020-4-21
编辑:Ameer Hamza 2020-4-21
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

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by