M文件
我们之前所做的运算————> 算式不太长,或想以交谈式方式进行运算
如果算式很长或是需要一再执行的算式————> 采用M文件的方式
【将指令及算式写成巨集程式然后储存成一个特别的文档,其扩展名是m】
编辑并运行M文件脚本的步骤
1. 新建脚本
2.输入程序
x=linspace(0,2*pi,20); y=sin(x); plot(x,y,'r+') title('2D plot')
3.保存+命名
ctrl+s 保存
4.运行【使xxx.m成为当前目录(系统默认路径),或该目录在MATLAB的搜索路径上————> 点击运行图标后,点击“添加到路径”即可】
运行时,可以直接点击上方图标,也可以在命令行窗口键入"xxx"
实例:计算一个球的体积,保存为area.m
r = input('Type radius 输入半径:'); Area=pi*r^2; volume=(4/3)*pi*r^3; fprintf('半径 The radius is %12.5f ',r) fprintf('面积 The area of a circle is %12.5f ',Area) fprintf('体积 The volume of a sphere is %12.5f ',volume)
M文件函数
funl.m文件
function Y = funl(x) Y = (x^3 - 2.*x^2 +x - 6.3) / (x^2 + 0.05*x - 3.14);
命令行窗口:
funl(1)*funl(2)+funl(3)*funl(3)
例:计算阶乘函数 fact.m
function output = fact(n) if n == 1 output = 1; return; end output = n*fact(n-1);
控制流
>> for i = 1:10
x(i) = i;
end
>> x
x =
1 至 9 列
1 2 3 4 5 6 7 8 9
10 列
10
>> for i = 1:3 i end i = 1 i = 2 i = 3
>> n=0:1:10; for i =1:11 for j = 1:11 y(i) = sin(n(i)); n(j) = n(j) * 10; end end
>> y y = 1 至 5 列 0 -0.5064 0.9300 -0.8027 -0.1425 6 至 10 列 -0.9765 -0.5118 0.8586 -0.9957 0.9917 11 至 15 列 0.9287 -0.4759 -0.7357 -0.9158 -0.9966 16 至 20 列 -0.9694 -0.8372 -0.6142 -0.3247 -0.0000 >> n n = 1.0e+12 * 1 至 5 列 0 0.1000 0.2000 0.3000 0.4000 6 至 10 列 0.5000 0.6000 0.7000 0.8000 0.9000 11 列 1.0000
>> num =0;EPS=1; >> while(1+EPS)>1 EPS = EPS/2; num = num +1; end >> num num = 53 >> EPS EPS = 1.1102e-16
>> x = zeros(1,6);%x是一个1*6的0矩阵 >> i = 1; >> while i <= 6 x(i) = 1/i; i = i +1; end >> x x = 1 至 5 列 1.0000 0.5000 0.3333 0.2500 0.2000 6 列 0.1667
>> a(1) = 1;a(2) = 1;i=2; >> while a(i) <= 10000 a(i+1) = a(i-1)+a(i); i = i+1; end >> i i = 21 >> a(i) ans = 10946
>> a = 2; >> if a>1 a = a+1; end >> a a = 3
----------------------------------------------------
----------------------------------------------------
>> n = 100;a = ones(1,n); >> for i = 3:n a(i) = a(i-1)+a(i-2); if a(i) >= 10000 a(i), break; end; end, ans = 10946 >> i i = 21
输入输出语句
错误消息显示命令