Collecting the outputs of a function within a for loop

4 次查看(过去 30 天)
I’ve got a function within a for loop and I want to collect the output variables of the function. Currently, the outputs A, B, C, D give only the last number in the series.
time = 100;
for i=1:length(time)
[A,B,C,D] = Name(a,b,c,d,time);
end

回答(1 个)

madhan ravi
madhan ravi 2019-4-17
编辑:madhan ravi 2019-4-17
time = 100;
[A,B,C,D]=deal(cell(100,1)); % if the outputs are scalars then use zeros() instead of cell
for ii=1:time
[A{ii},B{ii},C{ii},D{ii}] = Name(a,b,c,d,time);
end
  3 个评论
madhan ravi
madhan ravi 2019-4-17
It’a not working doesn’t give any useful information, what error message are you getting?
Nikolaos Zafirakis
Nikolaos Zafirakis 2019-4-17
I don’t think the issue is in the code you provided me anymore because the function requires a different input than the one I previously believed this new input is a 100 vectors 1 by 6. I will let you know when I managed to compute this, although if you could provide assistance on this to I would be very happy. The plan is to add a for loop around the for loop so,
T=100
for i=1:T
C=P(100:1); % The one by six vector needs to come from C
[A,B,C,D]=deal(cell(100,1));
for ii=1:time
[A{ii},B{ii},C{ii},D{ii}] = Name(a,b,c,d,time);
end
end

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Loops and Conditional Statements 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by