matlab自定义函数,可以输出多个数组么?

如题,matlab自定义函数,可以输出多个数组么?如:function[array1,array2,array3,...]=fun(x,y);其中,array1,arra... 如题,matlab自定义函数,可以输出多个数组么?
如:function [array1,array2,array3,...]=fun(x,y);
其中,array1,array2,array3,...都是数组。
请问应该如何输,我试了一下,如果按上面格式写,只能输出array1,其他的好像都忽略了,哪位高手能帮忙解决一下。先谢过了!
展开
 我来答
vincent92
推荐于2017-09-16 · TA获得超过200个赞
知道小有建树答主
回答量:87
采纳率:0%
帮助的人:98.3万
展开全部
可以输出多个
是不是因为你在函数中没有给输出变量赋值?

给一个例子

function [a,b,c]=test1(input)
if input==1
a=ones(2);
b=ones(3);
c=ones(4);
else
a=zeros(2);
b=zeros(3);
c=zeros(4);
end

函数调用
>> [a1,b1,c1]=test1(1)

a1 =

1 1
1 1

b1 =

1 1 1
1 1 1
1 1 1

c1 =

1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1

>> [a1,b1,c1]=test1(0)

a1 =

0 0
0 0

b1 =

0 0 0
0 0 0
0 0 0

c1 =

0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
齐霸王在江湖梦
2015-06-27 · TA获得超过3312个赞
知道小有建树答主
回答量:726
采纳率:75%
帮助的人:61.2万
展开全部
可以输出多个
是不是因为你在函数中没有给输出变量赋值?

给一个例子

function [a,b,c]=test1(input)
if input==1
a=ones(2);
b=ones(3);
c=ones(4);
else
a=zeros(2);
b=zeros(3);
c=zeros(4);
end

函数调用
>> [a1,b1,c1]=test1(1)

a1 =

1 1
1 1

b1 =

1 1 1
1 1 1
1 1 1

c1 =

1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1

>> [a1,b1,c1]=test1(0)

a1 =

0 0
0 0

b1 =

0 0 0
0 0 0
0 0 0

c1 =

0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
天蝎神经侠侣
高粉答主

推荐于2017-09-09 · 关注我不会让你失望
知道大有可为答主
回答量:7533
采纳率:67%
帮助的人:688万
展开全部
Switch-case分支
switch语句和if语句类似,相当于多项选择。switch语句根据变量或表达式的取值不同分别执行不同的命令。其基本的调用格式为:
switch 表达式(标量或字符串) %表达式为一标量或字符串
case值一
语句体一 %当表达式的值=值一时,执行语句体一,然后跳出该结构
case值二
语句体二 %当表达式的值=值二时,执行语句体二,然后跳出该结构
otherwise
语句体 %表达式的值不等于前面所有检测值时,则执行此组语句
end
用户用学生的成绩管理作为演示switch结构及结构体数组的应用,划分区域:满分(100)、优秀(90—99)、良好(80—89)、及格(60—79)、不及格(<60):
>> for i=l:10
a(i)=89+i;
b(i)=79+i;
c(i)=69+i;
d(i)=59+i;
end
>> c=[d,c];
>> Names={’zhang’,’wang’,’li’,’zhao’,’liu’); %元胞数组
>> Score=(85,72,93,54,100);
>> Rank=cell(1,5);
创建一个含有5个元素的结构体数组S,它有三个域:Name、Score、Rank:
>> S=struct(’Name’,Name,’Score’,Score,’Rank’,Rank);
根据学生的分数,求出相应的等级:
>> for i=1:5
switch S(i).Score
case 100
S(i).Rank=’满分’;
case a
S(i).Rank=’优秀’;
case b
S(i).Rank=’良好’;
case c
S(i).Rank=’及格’;
otherwise
S(i).Rank=’不及格’;
end
end
将学生的姓名,得分,登记等信息打印出来:
>> disp([’学生姓名 ’,’得分 ’,’等级’]);
>> for i=1:5
disp([S(i).Name,blanks(6),num2str(S(i).Score),blanks(6),S(i).Rank]);
end
学生姓名 得分 等级
zhang 85 良好
wang 72 及格
li 93 优秀
zhao 54 不及格
liu 100 满分
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式