MATLAB 软件使用简介MATLAB 是一个功能强大的常用数学软件, 它不但可以解决数学中的数值计算问题, 还可以解决符号演算问题, 并且能够方便地绘出各种函数图形。
MATLAB自1984年由美国的MathWorks公司推向市场以来,历经十几年的发展和竞争,现已成为国际最优秀的科技应用软件之一。
这里主要以适用于Windows操作系统的MATLAB5.3版本向读者介绍MATLAB的使用命令和内容。
一、MATLAB 的进入/退出MATLAB 的安装成功后, 系统会在Windows【开始】菜单的【程序】子菜单中加入启动MATLAB命令的图标, 用鼠标单击它就可以启动MATLAB系统,见图2.1。
图2.1 启动MATLAB启动MATLAB后, 屏幕上出现MATLAB命令窗口:图2.2 MATLAB命令窗口图2.2的空白区域是MATLAB 的工作区(命令输入区), 在此可输入和执行命令。
退出MATLAB系统像关闭Word文件一样, 只要用鼠标点击MATLAB系统集成界面右上角的关闭按钮即可。
二、 MATLAB 操作的注意事项●在MATLAB工作区输入MATLAB命令后, 还须按下Enter键, MATLAB才能执行你输入的MATLAB命令, 否则MATLAB不执行你的命令。
●MATLAB 是区分字母大小写的。
●一般,每输入一个命令并按下Enter键, 计算机就会显示此次输入的执行结果。
(以下用↙表示回车)。
如果用户不想计算机显示此次输入的结果,只要在所输入命令的后面再加上一个分号“;”即可以达到目的。
如:x= 2 + 3↙ x=5x = 2 + 3 ; ↙不显示结果5●在MATLAB工作区如果一个表达式一行写不下,可以用在此行结尾处键入三个英文句号的方法达到换行的目的。
如:q=5^6+sin(pi)+exp(3)+(1+2+3+4+5)/sin(x)…-5x+1/2-567/(x+y)●MATLAB 可以输入字母、汉字,但是标点符号必须在英文状态下书写。
●MATLAB 中不需要专门定义变量的类型,系统可以自动根据表达式的值或输入的值来确定变量的数据类型。
●命令行与M文件中的百分号“%”标明注释。
在语句行中百分号后面的语句被忽略而不被执行,在M文件中百分号后面的语句可以用Help命令打印出来。
三、MATLAB的变量与表达式●MATLAB的变量名MATLAB的变量名是用一个字母打头,后面最多跟19个字母或数字来定义的。
如x,y,ae3,d3er45都是合法的变量名。
应该注意不要用MATLAB中的内部函数或命令名作为变量名。
MATLAB中的变量名是区分大小写字母的。
如在MATLAB中,ab与 Ab表示两个不同的变量。
列出当前工作空间中的变量命令为Who 将内存中的当前变量以简单形式列出;Whos 列出当前内存变量的名称、大小、类型等信息;Clear 清除内存中的所有变量与函数。
●MATLAB的运算符数学运算符:+(加号),-(减号),*(乘号), \(左除), / (右除), ^ (乘幂)关系运算符:< (小于), > (大于), <= (小于等于), >= (大于等于),= =(等于), ~= (不等于)逻辑运算符:&(逻辑与运算), |( 逻辑或运算), ~( 逻辑非运算)●MATLAB的表达式及语句表达式由运算符、函数、变量名和数字组成的式子。
MATLAB语句由变量、表达式及MATLAB命令组成,用户输入的语句由MATLAB 系统解释运行。
MATLAB 语句的2种最常见的形式为:形式1:表达式形式2:变量=表达式在第一种形式中,表达式运算后产生的结果如果为数值类型,系统自动赋值给变量ans,并显示在屏幕上。
例1:用两种形式计算36sin5e++π算术运算结果。
解:Matlab命令为形式1:5^6+sin(pi)+exp(3) ↙ans =1.5645e+004形式2:a=5^6+sin(pi)+exp(3) ↙a =1.5645e+004 如果在表达式的后面加“;”,有 a=5^6+sin(pi)+exp(3);↙执行后不显示运算结果。
例2:已知矩阵⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡=2211,2121BA,对它们做简单的关系与逻辑运算解:Matlab命令为A=[1,2;1,2]; ↙B=[1,1;2,2]; ↙C=(A<B)&(A==B) ↙C=0 00 0四、MATLAB的数据显示格式虽然在MATLAB系统中数据的存储和计算都是双精度进行的,但MATLAB可以利用菜单或format命令来调整数据的显示格式。
Format命令的格式和作用如下:●Format|format short 5位定点表示●Format long 15位定点表示●format short e 5位浮点表示●Format long e 15位浮点表示●Format short g 系统选择5位定点和5位浮点中更好的表示●Format long g 系统选择15位定点和15位浮点中更好的表示●Format rat 近似的有理数的表示●Format hex 十六进制的表示●Format bank 用元角分(美制)定点表示●Format compact 变量之间没有空行●Format loose 变量之间有空行例3:对数7sin5+=a用五位定点、十五位定点以及有理数形式表示出来。
解:Matlab命令为a=5+sin(7)format short , a ↙a =5.6570format rat,a↙a =3117/551format long,a↙a =5.65698659871879五、MATLAB 中的常用函数MATLAB的常用内部函数有:六、矩阵的操作MATLAB的基本单位是矩阵,它是的MATLAB精髓,掌握矩阵的输入、各种数值运算以及矩阵函数的使用是以后能否学好MATLAB的关键。
矩阵的输入I.直接输入创建矩阵输入方法是先键入左方括弧“[”,然后按行直接键入矩阵的所有元素,最后键入右方括弧“]”。
注意:整个矩阵以“[”和“ ]”作为首尾,同行的元素用“,”或空格隔开,不同行的元素用“;”或按Enter键来分隔;矩阵的元素可以为数字也可以为表达式,如果进行的是数值计算,表达式中不可包含未知的变量。
例4:直接输入创建矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=98760154321A解:Matlab命令为A = [1,2,3; 4,15,60; 7,8,9] ↙A =1 2 34 15 607 8 9或用Matlab命令A=[1,2,3↙4,15,66↙7,8,9] ↙A =1 2 34 15 607 8 9I.用矩阵函数来生成矩阵MATLAB 提供了大量的函数来创建一些特殊的矩阵,表2.3给出MATLAB常用的矩阵函数。
例5:输入矩阵111 111 111⎛⎫ ⎪ ⎪ ⎪⎝⎭。
解:Matlab命令为ones(3) ↙ %生成元素都为1的3阶方阵ans =1 1 11 1 11 1 1例6:输入矩阵00000 00000⎛⎫ ⎪⎝⎭解:Matlab命令为zeros(2,5) ↙ %生成元素都为0的2行5列零矩阵ans =0 0 0 0 00 0 0 0 0例7:生成3阶魔方矩阵。
解:Matlab命令为magic(3) ↙ans =8 1 63 5 74 9 2●操作符“:”的说明j:k 表示步长为1的等差数列构成的数组:[j, j+1, j+2,…, k]j:i:k 表示步长为i的等差数列构成的数组:[j,j+i,j+2*i,…, k]A(i:j) 表示A(i),A(i+1),…,A(j)例8:操作符冒号”:”的应用解:Matlab命令为1:5 ↙ %步长为1的等差数列。
Ans =1 2 3 4 51:2:7 ↙ %步长为2的等差数列。
Ans =1 3 5 78:-2:0 ↙ %步长为-2的等差、递减数列。
Ans =8 6 4 2 0●对矩阵元素的操作设A是一个矩阵,则在MATLAB中有如下符号表示它的元素:A(i,j) 表示矩阵A的第i行第j列元素。
A(:,j) 表示矩阵A的第j列。
A(i,:) 表示矩阵A的第i行。
A(:,:) 表示A的所有元素构造2维矩阵A(:) 表示以矩阵A的所有元素按列做成的一个列矩阵。
A(i) 表示矩阵A(:)的第i个元素。
[ ] 表示空矩阵I.元素的抽取与赋值例9:已知矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=162ln973sin56231A,抽取与修改矩阵A的一些元素.解:Matlab命令为A=[1 23 56;sin(3) 7 9;log(2) 6 1] ↙ %输入矩阵A。
A =1.0000 23.0000 56.00000.1411 7.0000 9.00000.6931 6.0000 1.0000A(2,3) ↙ %求矩阵A的第二行第三列元素。
ans =9A(4) ↙ %求矩阵A的第四个元素。
ans =23A(2:4) ↙ %取矩阵A的A(2),A(3),A(4)。
ans =0.1411 0.6931 23.0000A(1,:) ↙ %取矩阵A的第一行。
ans =1 23 56A(:,3) %取矩阵A的第三列ans =5691a=A(1,3) ↙ %把矩阵A的第一行第三列元素赋值给变量a。
a =56A(2,1)=100 ↙ %把矩阵A的第二行第一列元素修改为100。
A =1.0000 23.0000 56.0000100.0000 7.0000 9.00000.6931 6.0000 1.0000II.矩阵的扩充例10:已知矩阵⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡=851,9631BA,利用A与B生成矩阵13100690C⎛⎫= ⎪⎝⎭,() D A B=,AAAB⎛⎫= ⎪⎝⎭。
解:Matlab命令为A=[1,3;6,9]; %输入矩阵AC= A↙C(1,3)=100; %把矩阵A扩充为1行3列矩阵C ↙C =1 3 1006 9 0B=[1,5;0,8]; ↙ %输入矩阵BD=[A,B] ↙ %由矩阵A与B合成矩阵DD =1 3 1 56 9 0 8AA=[A,zeros(2);zeros(2),B] ↙ %由矩阵A与B合成分块矩阵AA AA =1 3 0 06 9 0 00 0 1 50 0 0 8III.矩阵的部分删除例11:已知矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=162ln973sin56231A,删除矩阵A的第一行。
解:Matlab命令为A=[1 23 56;sin(3) 7 9;log(2) 6 1]; ↙A(1,:)=[] ↙ %删除矩阵A的第一行A =0.1411 7.0000 9.00000.6931 6.0000 1.0000● 矩阵的运算A+B: 矩阵加法 A-B: 矩阵减法 A*B: 矩阵乘法 A \B: 矩阵的左除 A/B: 矩阵的右除 transpose(A)或A ’:A 的转置A k *:数k 乘以Adet(A): A 的行列式: rank(A):A 的秩七、数组在MATLAB 中数组就是一行或者一列的矩阵,前边介绍的对矩阵输入、修改、保存都适用于数组,同时MATLAB 还提供了一些创建数组的特殊指令。