MATLAB将数值分析、矩阵运算、科学数据可视化等诸多强大的功能集成在一个易于使用的视窗环境中,被广泛应用于数据挖掘、工程与科学绘图、控制系统设计与仿真、图像处理、数字信号处理、财务与金融工程、计量经济学分析等领域。本篇主要通过一些简单地例子,讲解MATLAB的快速入门。
>> s=1; >> for i=1:10 s=s+i; % MATLAB是解释性语言,语句末尾不加';'会导致执行1句显示1次结果 end >> fprintf('s=%f\n',s); % 语法与C语言相似,格式化输出,注意是'符号 s=56.000000 >>
>> i=1; >> s=0; >> while i<=10 s=s+i; i=i+1; end >> fprintf('ans=%d\n',s);
>> x=input('Please enter the value of ''x'', an Integer number between 0 and 9:'); Please enter the value of 'x', an Integer number between 0 and 9:0 >> if x==0||x==9 fprintf('x=0 or x=9\n'); elseif 1<=x&&x<=5 fprintf('1<=x<=5\n'); else fprintf('6<=x<=8\n'); end x=0 or x=9
x = input('enter an Integer value or a String:'); enter an Integer value or a String:'Hello' >> switch x case 'Goodbye!' fprintf('Bye!\n'); case {'Hello','Hello!'} fprintf('Hi!\n'); case 0 fprintf('Zero\n'); case {1,2} fprintf('one or tow\n'); otherwise fprintf('I don''t know!\n'); end
try x = [1,2;3,4]; % 2x2数组 y = [5,6,7;1,2,3;4,5,6]; % 3x3数组 z = x * y; catch errordlg('矩阵相乘错误!','Error'); end
>> for i=1:10 if mod(i,2)==1 % MATLAB求余语句 continue; end fprintf('%d\n',i); end
>> i=1; >> while true if i>10 break; end i=i*2; fprintf('%d\n',i); end
M文件可分为脚本文件(MATLAB scripts)和函数文件(MATLAB functions)。
在当前项目里新建脚本文件r_area.m
% 脚本示例:计算圆形面积 r_area.m r = 33.3; % r为圆形半径 s = (r^2) * pi % s为圆形面积
在MATLAB命令窗口输入脚本文件名 "r_area",按 "Enter" 建运行。
在当前项目里新建函数文件r2_area.m
function s = r2_area(r) % 函数文件示例:计算圆形面积 % s为圆形面积,r为输入半径 s=(r^2)*pi; end
在MATLAB命令窗口调用函数 "area = r2_area(4)" 查看运行结果,输入 "help r2_area" 可获取函数注解说明。上面例子为有返回变量的函数,返回变量不止一个时使用
function [s,p] = r3_area(r) % 函数文件示例:计算圆形面积 % s返回圆形面积,p返回默认的圆周率,r为输入半径 s=(r^2)*pi; p=pi; end
在MATLAB命令窗口调用函数 "[ s, p] =r3_area(4)" 查看运行结果。没有返回变量时,使用
function print_sum(a, b) disp(a+b) end