1、MATLAB软件入门 MATLAB软件基础本章介绍MATLAB软件的一般命令,数组操作和运算函数;绘图命令,循环和选择结构;通过实例练习解决一些简单问题.2.1 引言MATLAB是MATrix LABoratory的缩写,由美国MathWorks公司开发的工程计算软件,迄今已推出了7.1版.当今数学类科技应用软件可分为两类,一类是数值计算型,如MATLAB,Xmath,Gauss等,这类软件擅长数值计算,对处理大批数据效率高;另一类是数学分析型软件,如Mathematica,Maple等,这类软件以符号计算见长,能给出解析解和任意精度解,其缺点是处理大量数据时效率高.现在, MATLAB已经发
2、展为适合多学科,功能强大的大型软件,成为高级课程的基本教学工具.如MATLAB可以做:微积分:微分,积分,求极限,泰勒展开,级数求和;代数:求逆,特征值,行列式,代数方程解的简化,数学表达式的指定精度求值;数值分析:插值与拟合,数值微分与积分,函数逼近,代数方程和微分方程的数值解和符号解.统计计算:均值,方差,概率,参数估计,假设检验,相关性和回归分析,统计绘图,随机数产生器等.优化问题的求解:线性规划,非线性规划等问题的求解.动态系统模拟仿真等.它已成为大学生,研究生和博士生必须掌握的基本技能.同时, MATLAB也被研究单位和工业部门广泛应用,使科学研究和解决各种具体问题的效率大大提高.M
3、ATLAB集成环境主要包括五部分: MATLAB语言, MATLAB工作环境, 句柄图形,MATLAB数学函数库, MATLAB API (Application Program Interface).MATLAB主要有以下特点:1) 运算符和库函数极其丰富,语言简洁,编程效率高. MATLAB除了提供和C语言一样的运算符外,还提供广泛的矩阵和向量运算符.2) 图形功能强大.包括对二维和三维数据可视化,图像处理,动画制作等高低层次的绘图命令.3) 功能强大的工具箱. 工具箱可分两类:功能性工具箱和学科性工具箱.前者主要用来扩充其符号计算功能,图示建模仿真,文字处理及与硬件实时交互的功能.而学科
4、性工具箱是专业性较强的,如优化,统计,控制,小波,图像处理和通信工具箱等.4) 易于扩充.除内部函数外,所有MATLAB的核心文件和工具箱文件都是可读可改的源文件,用户可修改文件和加入自己的文件,可与库文件一样被调用.2.1.1 安装(Windows操作平台)1. 将源光盘插入光驱;2. 在光盘的根目录下找到MATLAB的安装文件setup.exe;3. 鼠标双击该安装文件,按提示逐步完成安装;4. 安装完成后,在程序栏里便有了MATLAB选项.2.1.2 启动在”开始程序MatlabMATLAB”中单击MATLAB.便会出现MATLAB Command Window(即命令窗口).2.2 M
5、ATLAB环境MATLAB既是一种语言,又是一个编程环境.2.2.1 命令窗口命令编辑区工具栏菜单栏标题栏命令窗口是用户与Matlab进行交互的主要场所. Matlab语句的一般形式为:变量=表达式如:键入:x=4.5回车,将显示x=4.5再键入:y=sin(x*pi)回车,将显示:y =1; , .的作用:1. 表达式后面跟分号;,将不显示结果;2. 跟,或不跟任何符号,将显示表达式的计算结果;3. 当一个表达式没写完就需换行时,应在该行末键入.之后再回车换行.如:s=1-1/2+1/3+1/4+sin(3*x*y)-cos(x).-1/8+1/10+1/20 ; , .的作用:用于命令行编
6、辑的控制键和方向键1. 按键,会显示刚才键入的命令行;2. 反复按键,可以回调以前键入的所有命令行;3. 键可以移动光标;4. 还有Home,End,Esc键等. Esc清除一行.变量1. 以字母开头,后面可跟字母,数字和下短线;2. 大小写字母有区别,不超过31个字母.特殊变量名 ans 用于结果的缺省变量名; pi 圆周率eps 计算机的最小数; inf 无穷大; NaN 不定量i或j -1的开方; realmin 最小可用正实数 realmax 最大可用正实数工作区接受Matlab命令的内存区域,存储着命令编辑区输入的命令和创建的所有变量值.查看或保存工作区变量:who 或whos 显示
7、当前工作区中的所有变量clear 清除工作区中的所有变量clear(变量名) 清除指定工作区的变量save(文件名) 将当前工作区的变量储存在一个MAT-文件中load(文件名) 调出一个MAT-文件quit回车或单击右上角的,退出工作区.2.2.2 程序编辑器M文件:命令文件和函数文件1. M文件的建立 1) 进入程序编辑器(MATLAB Editor/Debug):从File菜单中选择New及M-file项. 2) 输入程序 3) 保存程序:单击save按钮,出现一对话框,在文件名一框中键入一文件名,单击保存.2. 命令M文件及其运行命令M文件:一些命令行的组合,没有输入参数,也不返回输出
8、参数.如:% 文件名exl.mx=4;y=6;z=2;items=x+y+zcost=x*25+y*22+z*99average_cost=cost/items1) 在程序编辑窗口输入,以名为exl.m的M文件存磁盘.2) 在Matlab命令编辑窗口输入exl,便会顺序执行该文件中的命令.3. 函数M文件及其调用函数M文件的形式为:fuction 输出变量列表=函数名(输入变量列表)函数体语句;如:function f=f1(x)f=100*(x(2)-x(1)2)2-(1-x(1)2;(注意函数M文件的文件名必须与其函数名相同)调用格式:x=2 3;f=f1(x)结果为:f=992.2.3
9、文件管理what 返回当前目录下的M,MAT,MEX文件的列表dir 列出当前目录下的所有文件cd 显示当前的工作目录type test 在命令窗口下显示test.m的内容delete test 删除M文件test.mwhich test 显示M文件test.m所在的目2.3 数组和函数2.3.1 数组的运算1) 数组的简单构造:数组常采用:和函数linspace两种输入方式,如:x=1:5 (从1到5公差为1的等差数组)x=0:0.1:1 (从0到1,公差为0.1)x=linspace(0,pi,11) (11个从0到pi的等间隔数)2) 数组的运算设a=a1 a2 a3,b=b1 b2 b
10、3,c=标量标量加法a+b= a1+c a2+c a3+c乘法 a*c= a1*c a2*c a3*c数组加法 a+b= a1+ b1 a2+ b2 a3+ b3乘法 a.*b= a1*b1 a2*b2 a3*b3数组右除 a./b= a1/b1 a2/b2 a3/b3左除 a.b= b1 /a1 b2/ a2 b3/ a3数组求幂 a.c= a1c a2c a3c c. a= a1c a2c a3c a.b= a1b1 a2b2 a3b3 sort(v) 按升序排列max(v) 求最大值 min(v) 求最小值 sum(v) 求和 mean(v) 求平均 2.3.2 矩阵的创建1) 矩阵的直
11、接定义 键入: A=1 2 3;4 5 6 或键入:A=1 2 3 4 5 6 2) 特殊矩阵 zeros(m,n) ones(m,n) eye(n) rand(m,n) diag(v) triu(x) 3) 矩阵的剪裁和拼接 键入:A=1 2 3 ;4 5 6; 7 8 9;A(3.:) %A的第三行输出:ans= 7 8 9键入:B=A(2:3,:) %A的第二,三行输出:B= 4 5 67 8 9键入:A(:,1) %A的第一列输出:ans=147输入: C=B,zeros(2,1)输出: C=4 5 6 0 7 8 9 0 2.3.3 矩阵的运算+ 矩阵加法 矩阵减法 * 乘法 , 转
12、置 乘幂 / 左除 右除如:A是可逆矩阵,AX=B的解是A左除B,即X=AB; XA=B的解X= B/A. rank(A) 矩阵秩 inv(A) 矩阵的逆 det(A) 行列式 orth(A) 正交化 poly(A) 特征多项式2.3.4 数学函数sin(x) cos(x) tan(x) cot(x) exp(x) log(x) log10(x) sqrt(x)平方根朝零方向取整 fix(x) 朝方向取整floor(x) 朝方向取整 ceil(x) 四舍五入到最近的整数round(x) 符号函数sign(x)2.4 图形功能2.4.1 二维图形1) 基本绘图命令 plot(x, y, colo
13、r-linestyle-marker)x, y-转折点; color-linestyle-marker-连线颜色,线型,数据点图标.颜色:y黄 r红 g绿 b 蓝 w 白 k 黑 m紫 c 灰 -实线 :点线 -虚线数据点图标: . 小黑点 +加法 *星号 O小圆圈 pentagram 五角星x=1:8;y=sin(x);plot(x,y,k : O)plot(x,y, O)x=0:0.1:2*pi; y=sin(x); plot(x,y, r:o);plot(x,y, r :);2) 坐标系的控制axis(xmin xmax ymin ymax) 中分别给出X轴和Y轴的最小,最大值;axis
14、 equal X轴和Y轴的单位长度相同. axis squrare 图框呈方形 axis off 取消坐标轴3) 图形标注x=linspace(0,2*pi,30);y=sin(x);cos(x);plot(x,y);grid;xlabel(x);ylabel(y);title(sine and cosine curves);text(3*pi/4,sin(3*pi/4),leftarrowsinx); text(3*pi/2,cos(3*pi/2),cosxrightarrow,.HorizontalAlignment,right); (以上命令行可以形成一个M文件).hold on 把新的图形画在原来图形上. grid 在图形上加网格 xlabel ylabel 对X,Y轴加注 title 给整个图形加标题 text gtext 在图形中特定位置加字符串.若使用gtext(sinx)代替命令text,则在图形窗口会出现十字线,其交点是字符串位置.移动鼠标可移动交点,点击鼠标即可将字符串固定.输出结果如下图:4) 多幅图形在同一画面中的多幅不同坐标系的图形,如何作?x=linspace(0,2*pi,30);y=sin(x);z=cos(x);u=2*sin(x).*
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1