matlab 打印多个变量,matlab函数多个输出

本文介绍了MATLAB中如何实现函数的多输出,并通过示例展示了如何使用switch-case结构进行条件判断。通过示例代码解释了如何根据学生分数分配等级,并演示了如何打印变量和结构体数组的内容。
摘要由CSDN通过智能技术生成

matlab函数多个输出

可以输出多个

是不是因为你在函数中没有给输出变量赋值?

给一个例子

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 0Switch-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 满分可以输出多个

是不是因为你在函数中没有给输出变量赋值?

给一个例子

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值