您的位置:首页 > 编程语言 > MATLAB

数据的输入与输出以及程序流控制语句

2016-04-09 12:34 225 查看

1. 数据的输入与输出

在 MATLAB 中,input 函数用于实现数据的输入;disp 函数用于实现数据的输出。调用格式如下:

A=input(提示信息,选项):提示信息是一个字符串,用于提示用户输入什么样的数据。

A=input(‘A=’):如果在 input 函数调用时采用’s’选项,则允许用户输入一个字符串。

disp(输出项):其中输出项既可以为字符串,也可以为矩阵。当用 disp 函数显示矩阵时,将不显示矩阵的名字,而且其格式更紧密,且不留任何没有意义的空行。

下面我们通过一个简单的例子进行说明。

%% 求一元二次方程 ax^2+bx+c=0 的根

a=input('a=');
b=input('b=');
c=input('c=');
d=b*b-4*a*c;
x=[(-b+sqrt(d))/(2*a),(-b-sqrt(d))/(2*a)]
disp(['x1=',num2str(x(1)),',x2=',num2str(x(2))]);


2. 判断语句

当程序只有一个判断语句时,可以选择 if…end 结构

if 表达式
执行程序块
end


注意:句中的 end 是不可少的,没有它,在逻辑表达式为假时,就找不到继续执行程序的入口。

当程序有两个选择时,可选择 if…else…end 结构。

if 表达式 1
执行程序块 1
else
执行程序块 2
end


当有多个选择时,可以采用 if…elseif…else…end 结构。

if 表达式 1
执行程序块 1
elseif 表达式 2
执行程序块 2
elseif ...
...
else
执行程序块
end


例如:判断输入学生的成绩所属的等级:60分以下为不合格,60~70为中等,70~89为良好,90以上为优秀。

n=input('input the score:')
if n>=0 & n<60
A='不合格'
elseif n>=60 & n<70
A='中等'
elseif n>=70 & n<89
A='良好'
elseif n>=90
A='优秀'
else
A='输入错误'
end


3. 分支语句

分支语句的结构如下:

switch 分支语句
case 条件语句
执行程序块
case {条件语句1,条件语句2,条件语句3,...}
执行程序块
otherwise
执行程序块
end


其中,分支语句为一个变量(数值或字符串变量),如果该变量与某一条件相符,则执行相应的语句,否则,执行 otherwise 后面的语句。在每一个条件中,可以包含一个条件语句,也可以包含多个条件,当包含多个条件时,可将条件以单元数组的形式表示。

%% 底对数的实现
A=input('底:');
B=input('对数值:');
switch A
case exp(1)
y=log(B)
case 2
y=log2(B)
case 10
y=log10(B)
otherwise
y=log(B)/log(A)
end


4. 循环语句

for 循环语句,其调用的基本格式如下:

for index=初值:增量:终值
语句组 A
end


此语句表示把语句组 A 反复执行 N 次,循环次数 N(需要预先指定)为 N=1+(终值-初值)/增量 。在每次执行过程中,index 的值按“增量”增加。

%%建立一个100阶数组,数组中的每一个元素A(k,n)满足A(k,n)=1/(k+n-1).
for k=1:100
for n=1:100
A(k,n)=1/(k+n-1);
end
end


while 循环,其结构为

while 表达式
执行程序块
end


while 语句用于将相同的程序块执行多次(次数不需要预先指定),当条件表达式为真时,执行程序块,直到条件表达式为假。

%% 求解最小的 m,使其满足 1~m 项之和大于100.
s=0;
m=0;
while (s<=100)
m=m+1;
s=s+m;
end
disp(['m=',num2str(m),',s=',num2str(s)])
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  matlab