MATLAB 基础之程序设计
1..m文件类型
(1)函数文件
(2)一段程MATLAB命令
2.MATLAB 程序设计
MATLAB 程序设计与C/C++类似,分为顺序结构、分支结构、循环结构。
(1).顺序结构
代码演示:
(2).分支结构
A:if......else......end
代码演示:
clear;
clc;
a=input('enter a number:a=');
b=input('enter b number:b=');
if a>b
max=a;
else
max=b;
end
fprintf('MAX(a,b)=');
disp(max);
B: if......elseif......else......end
代码演示:
clear;
clc;
score=input('pelase input score:score=');
if score>=90
score='A';
elseif score>=80
score='B';
elseif score>=70
score='C';
elseif score>=60
score='D';
else
score='E';
end
fprintf('score in Five-Classes:\nscore=');
disp(score);
C:switch Expression(表达式)
case 数组1
语句组1
case 数组2
语句组2
...
case 数组n
语句组n
otherwise
语句组n+1
end
代码演示:
clear;
clc;
price=input('pelase input price:price=');
switch fix(price/100)
case{0,1}
rate=0;
case{2,3,4}
rate=3/100;
case num2cell(5:9)
rate=5/100;
case num2cell(10:24)
rate=8/100;
case num2cell(25:49)
rate=10/100;
otherwise
rate=14/100;
end
price=price*(1-rate);
fprintf('price=');
disp(price);
(3).循环结构
A: while 表达式
循环体
end
代码演示:
clear;
clc;
i=0;
sum=0;
while i<=100
sum=sum+i;
i=i+1;
end
fprintf('1+2+......+100=\n');
disp(sum);
B: for 循环变量=表达式1:表达式2:表达式3
循环体
end
C: break语句 用于终止for循环和while循环的执行。当遇到break语句时,则退出循环体,继续执行循环体外的下一条语句
D: continue语句 用于控制for循环和while循环跳过某些语句体的执行。当遇到continue语句时,则跳出循环体中所剩余的语句,继续执行下一次循环,即本次循环结束。
代码演示:
clear;
clc;
for i=100:200
if rem(i,7)==0%rem为求与函数
break;
end
end
fprintf('能被7整除的数=\n');
disp(i);
for语句嵌套运用:
clear;
clc;
n=input('please input a number,n=');
m=input('please input a number,m=');
sum=0;
for i=1:n
for j=1:m
sum=sum+i^j;
end
end
fprintf('(1^1+1^2+...+1^m)+(2^1+2^2+...+2^m)+(3^1+3^2+...3^m)+...+(n^1+n^2+...n^m)=\n');
disp(sum);
演示结果:
please input a number,n=3
please input a number,m=10
(1^1+1^2+...+1^m)+(2^1+2^2+...+2^m)+(3^1+3^2+...3^m)+...+(n^1+n^2+...n^m)=
90628
(4).其他语句
试探性语句
try......catch......end
代码演示:
clear;
clc;
A=input('please input a array,A=');
A=input('please input a array,B=');
A=[1,2,;3,4;5,6];
B=[7,8;9,10;11,12];
try
C=A*B;
catch
C=A.*B;
end
fprintf(lasterr);
fprintf('\nC=\n');
disp(C);
演示结果:
please input a array,A=[1 2 3;4 5 6];
please input a array,B=[7 8 9;10 11 12];
Error using *
Inner matrix dimensions must agree.
C=:
7 16
27 40
55 72
3.函数文件
(1).基本结构
function [输出参数列表] =函数名(输入参数列表)
函数体
return;
(2).函数调用
[输出实参列表] =函数名(输入实参列表)
代码演示:
function mul=fact(n)
mul=1;
for i=1:n
mul=mul*i;
end
演示结果:
>>a=fact(5)
a=
120
(2).函数参数具有可调用性
代码演示:
function apple=test(a,b,c)
if nargin==1
apple=a;
elseif nargin==2
apple=a+b;
elseif nargin==3
apple=a+b+c;
end
演示结果:
>> test(4)
ans =
4
>> test(4,5)
ans =
9
>> test(4,5,6)
ans =
15