How to Store Output from Function Within Nested for Loop

조회 수: 3 (최근 30일)
Jonathan Pinko
Jonathan Pinko 2020년 5월 8일
댓글: Rik 2020년 5월 11일
I have the following code:
Fes=10:1:11;
Fe0=12:1:13;
for y=1:numel(Fes);
for z=1:numel(Fe0);
puppies(Fes(y),Fe0(z))
end
end
Puppies is a function that produces two vectors for each combination of Fes and Fe0. I would like to store the result of puppies in a table, contained within my workspace, that shows each result, labelled with the particular Fes and Fe0 combination that produced the result (with each result being the two vectors generated from an individual Fes and Fe0 combination).
How can I do this?

답변 (1개)

Rik
Rik 2020년 5월 8일
The same way you capture any output from a function. You might need an intermediate step to put your vectors in a cell first.
Fes=10:1:11;
Fe0=12:1:13;
for y=1:numel(Fes);
for z=1:numel(Fe0);
[A,B]=puppies(Fes(y),Fe0(z));
%now you can store A, B, Fes(y), and Fe0(z) in a table
end
end
Alternatively, you could store Fes and fe0 in a table and then use rowfun.
  댓글 수: 4
Jonathan Pinko
Jonathan Pinko 2020년 5월 10일
편집: Jonathan Pinko 2020년 5월 10일
Hi Rik,
Thanks again. I like your idea of putting my results into a 3D array rather than a table, and I think that putting my data into two 3D arrays would be best. In this scenario, one 3D array would be (Fes,Fe0,A), and the other would be (Fes,Fe0,B), with A and B being the two different outputs from my code.
I apologize for being so new at this, and bothering you these basic questions, but how would I go about creating these 3D arrays?
Rik
Rik 2020년 5월 11일
Fes=10:1:11;
Fe0=12:1:13;
for y=1:numel(Fes)
for z=1:numel(Fe0)
if y==1 && z==1
[a,b]=puppies(Fes(y),Fe0(z));
A=zeros(numel(Fes),numel(Fe0),numel(a));
A(1,1,:)=a;
B=zeros(numel(Fes),numel(Fe0),numel(b));
B(1,1,:)=b;
else
[A(y,z,:),B(y,z,:)]=puppies(Fes(y),Fe0(z));
end
end
end
function [a,b]=puppies(y,z)
a=rand(100,1);
b=rand(5,1);
end

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

제품


릴리스

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by