如何编写函数输出各种形式的?

4视图(30天)
monkeyquant
monkeyquant 2022年3月18日
评论道: 1月 2022年3月19日
许多MATLAB函数选项吐出各种形式的输出。我有一个函数吐出7数组。我想使用一个单一的输出作为一个矩阵组成的所有7数组或数组通过指定每个数组的名字使用类似[~ ~,~,a, b, ~, ~)。任何建议或引用?
一些函数与一个输出分配列表中的第一个输出(,……),我想要所有输出一输出任务没有方括号,[],每个输出利用方括号。
例如,
> > =魔法(3);
> >大小(一个)
答3 = 3
> > [m ~] =大小(一)
m = 3
> > [~ n] =大小(一)
n = 3
> > [m, n] =大小(一)
m = 3
n = 3

接受的答案

Stephen23
Stephen23 2022年3月18日
编辑:Stephen23 2022年3月18日
这是如何实现你的要求:
函数[着干活,out2 out3、out4 out5, out6, out7] = yourFunction (. .)
. .
着干活= . .;
. .
out7 = . .;
. .
如果nargout < 2
着干活=[着干活,out2、out3 out4, out5, out6, out7);
结束
结束
2的评论
1月
1月 2022年3月19日
@monkeyquant 这解决你的问题吗?请接受它。

登录置评。

更多的答案(2)

大卫。马塞罗说道
大卫。马塞罗说道 2022年3月18日
编辑:大卫。马塞罗说道 2022年3月18日
简单,你的函数应该是这个样子
函数[着干活,out2 out3、out4 out5, out6, out6] = yourFunction(输入)
着干活=第一个数组;
out2 =第二个数组;
等。
结束
然后,假设你想让你的七个数组输出通过你函数名称“a, b, c, d, e, f, g”,这样你调用函数
[a, b, c, d, e, f, g) = yourFunction(输入);
如果在某一时刻你希望functoin回报,说,和f,你调用这个函数
[a, ~, ~, ~, ~, f ~] = yourFunction(输入);
输出为一个矩阵,所有数组都必须具有相同的大小。你可以写你的函数
函数= yourFunction(输入)
=(第一个数组,第二个数组;第三个数组;……);
结束
4评论
monkeyquant
monkeyquant 2022年3月18日
节省我的时间。还有一件事从你提到的“NARGOUT”。所以可以通过计算输出的数量和/或语法没有[]。我将感激如果你能告诉我一个例子。

登录置评。


1月
1月 2022年3月18日
这与任何函数自动工作。~只是忽略了回答来电者的价值。你不需要考虑这个功能。
如果你回复7输出函数,你可以请求3日和4日的:
[~,~,a, b] = YourFunction ()

类别

找到更多的在运营商和基本操作帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!