Return multiple results from a function in one variable
23 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
MathWorks Support Team
am 11 Aug. 2017
Bearbeitet: Stephen23
am 30 Sep. 2020
I have a function called "ols2" that calculates 12 different values. Is there some way I can call the function program without listing all 12 of the return values? In other words, I want to avoid having to say
[p1,p2,p3 p4,p5,p6,p7,p8,p9,p19,p11,p12] = ols2(x,y)
Akzeptierte Antwort
MathWorks Support Team
am 30 Sep. 2020
Bearbeitet: MathWorks Support Team
am 30 Sep. 2020
One way to return multiple variables from a function is to group them in a struct. Here is an example function:
function res = foo()
res.x=1;res.y = 2;
end
You can then call the function by writing
>> my_res = foo()
and access the variables using a dot, e.g., "my_res.x". For more information about 'struct' please see our documentation page below:
0 Kommentare
Weitere Antworten (1)
Stephen23
am 30 Sep. 2020
Bearbeitet: Stephen23
am 30 Sep. 2020
"I have a function called "ols2" that calculates 12 different values. Is there some way I can call the function program without listing all 12 of the return values?"
The simplest and most efficient solution by far is to just use one vector:
function vec = ols2(..)
vec = [1,2,..];
end
0 Kommentare
Siehe auch
Kategorien
Mehr zu Structures finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!