很多朋友在使用matlab时,会使用或自己编辑多个function函数,来满足自己对任务处理的要求,但是在调用function函数时,会出现这个问题:调用matlab用户自定义的function函数时,有多个输出变量只输出第一个变量。
假设我定义的function函数代码如下:
function [a,b,c]=xyz(x,y,z)
a=x+y+z;
b=2*a;
c=3*a;
end
假设我调用该代码做如下运算:
clear
clc
x=1;y=1;z=1;
[a,b,c]=xyz(x,y,z);
输出结果为:
这是正常调用时出现的结果。
假设我这样进行调用 :
clear
clc
x=1;y=1;z=1;
a1=xyz(x,y,z);
[a2,a3]=xyz(x,y,z);
[a4,a5,a6]=xyz(x,y,z);
输出结果为:
可以看出,当调用自定义的function函数时,函数有多个输出值时,如果调用的时候只打了一个输出值,matlab也会输出定义函数的第一个输出值。如果调用两个或多个(少于用户定义函数的输出数量),matlab会默认函数定义变量顺序按顺序输出变量值。
因此,调用matlab用户自定义的多变量输出function函数时,如果只有一个输出变量,matlab会默认只输出函数中第一个变量。
如有不足之处,还请各位批评指正!
记得点赞,收藏,关注一键三连,谢谢未来的各位工程师、教授、院士……!