




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、MATLAB 软件使用简介MATLAB 是一个功能强大的数学软件, 它不但可以解决数学中的数值计算问题, 还可以解决符号演算问题, 并且能够方便地绘出各种函数图形。MATLAB自1984年由美国的MathWorks公司推向市场,现已成为国际最优秀的科技应用软件之一。一、MATLAB 的工作界面命令窗口(command windows):空白区域是MATLAB 的工作区, 在此可输入和执行命令。command historycurrent directoryworkspacehelp,demo二、 MATLAB 操作的注意事项l 在工作区输入MATLAB命令后, 按下Enter键才能执行命令。l
2、 MATLAB 是区分字母大小写的。l 如果不想显示结果,只要在所输入命令的后面加上一个分号“;”即可。如:x= 2 + 3 x=5 x = 2 + 3 ; 不显示结果5l 命令行与M文件中的百分号“%”标明注释。三、MATLAB的变量与表达式l MATLAB的变量名MATLAB的变量名是用一个字母打头,应该注意不要用MATLAB中的内部函数或命令名作为变量名。列出当前工作空间中的变量命令为:who 将内存中的当前变量以简单形式列出;whos 列出当前内存变量的名称、大小、类型等信息;clear 清除内存中的所有变量与函数。l MATLAB常用的预定义变量ans:保存计算结果的缺省变量;Inf
3、或inf:无穷大;i或j:虚数单位; pi:圆周率。l MATLAB的运算符数学运算符:+,-,*, (左除), / (右除) , (乘幂) 关系运算符:<, >, <=, >=, = =(等于), = (不等于)逻辑运算符:&(逻辑与), |( 逻辑或), ( 逻辑非)l MATLAB的表达式及语句表达式由运算符、函数、变量名和数字组成的式子。MATLAB语句由变量、表达式及MATLAB命令组成,用户输入的语句由MATLAB 系统解释运行。MATLAB 语句的2种最常见的形式为:形式1:表达式形式2:变量=表达式在第一种形式中,表达式运算后产生的结果如果为数值
4、类型,系统自动赋值给变量ans,并显示在屏幕上。例1:用两种形式计算算术运算结果。解:形式1: 56+sin(pi)+exp(3) ans =1.5645e+004形式2: a=56+sin(pi)+exp(3) a =1.5645e+004四、矩阵的操作MATLAB的基本单位是矩阵,它是的MATLAB精髓,掌握矩阵的输入、各种数值运算以及矩阵函数的使用是以后能否学好MATLAB的关键。l 矩阵的输入 (1) 直接输入创建矩阵 整个矩阵以“”和“ ”作为首尾,同行的元素用“,”或空格隔开,不同行的元素用“;”或按Enter键来分隔;矩阵的元素可以为数字也可以为表达式,如果进行的是数值计算,表达
5、式中不可包含未知的变量。例4:直接输入创建矩阵解:A = 1,2,3; 4,15,60; 7,8,9 (2) 用矩阵函数来生成矩阵MATLAB 提供了大量的函数来创建一些特殊的矩阵。比如:函数名称函数功能函数名称函数功能zeros(m,n)m行n列的零矩阵eye(n)n阶方矩阵rand(m,n)m行n列的随机矩阵magic(n)n阶魔方矩阵例2:输入矩阵。解:eye(3) 例3:生成3阶魔方矩阵。解:magic(3) l 操作符“:”的说明j:k 表示步长为1的等差数列构成的数组:j, j+1, j+2, kj:i:k 表示步长为i的等差数列构成的数组:j,j+i,j+2*i, k例4:操作符
6、冒号”:”的应用解:1:5 %步长为1的等差数列。1:2:7 %步长为2的等差数列。8:-2:0 %步长为-2的等差、递减数列。l 对矩阵元素的操作A(i,j) 表示矩阵A的第i行第j列元素。A(:,j) 表示矩阵A的第j列。A(i,:) 表示矩阵A的第i行。A(i) 表示矩阵A(:)的第i个元素。A(i:j) 表示A(i),A(i+1),A(j)A(:) 表示以矩阵A的所有元素按列做成的一个列矩阵。 表示空矩阵l 元素的抽取与赋值例5:已知矩阵,抽取与修改矩阵A的一些元素解:A=1 23 56;sin(3) 7 9;log(2) 6 1 %输入矩阵A。A(2,3) %求矩阵A的第二行第三列元
7、素。A(4) %求矩阵A的第四个元素。A(2:4) %取矩阵A的A(2),A(3),A(4)。A(1,:) %取矩阵A的第一行。A(:,3) %取矩阵A的第三列a=A(1,3) %把矩阵A的第一行第三列元素赋值给变量a。A(2,1)=100 %把矩阵A的第二行第一列元素修改为100。l 矩阵的扩充例6:已知矩阵,利用A与B生成矩阵,。解:A=1,3;6,9; %输入矩阵AC= A C(1,3)=100; %把矩阵A扩充为1行3列矩阵B=1,5;0,8; %输入矩阵BD=A,B %由矩阵A与B合成矩阵DAA=A,zeros(2);zeros(2),B %由矩阵A与B合成分块矩阵AAl 矩阵的部分
8、删除例7:已知矩阵,删除矩阵A的第一行。解:A=1 23 56;sin(3) 7 9;log(2) 6 1; A(1,:)= %删除矩阵A的第一行l 矩阵的运算A+B: 矩阵加法 A-B: 矩阵减法A*B: 矩阵乘法 AB: 矩阵的左除A/B: 矩阵的右除 transpose(A)或A:A的转置:数k乘以A det(A): A的行列式:rank(A):A的秩五、数组数组就是一行或者一列的矩阵,前边介绍的对矩阵输入、修改、保存都适用于数组,同时MATLAB还提供了一些创建数组的特殊指令。l 特殊数组的创建linspace(a,b,n) 给出区间a,b的n个等分点数据logspace(a,b,n)
9、 给出区间的n个等比点数据,公比为。例8:linspace(0,1,6) %给出区间0,1 的6个等分点数据logspace(0,1,6) %给出区间的6个等比点数据 l 数组运算除了作为1×n矩阵应遵循矩阵的运算规则外,MATLAB还为数组提供了一些特殊的运算: 乘法为:.* ,左除为:. ,右除为:./ ,乘幂为:. 设数组,,则对应的运算具体为: 例9:数组运算例题a=1:5 %定义数组ab=3:2:11 %定义数组ba.2 %数组a的每一个元素求平方a.*b %数组a的每一个元素乘以对应的数组b的元素例10:计算的值。解:x=-pi:pi/2:pi; %定义自变量xy=sin
10、(x) %求自变量x的每一个元素对应的正弦值六、 Matlab绘图 1plot(y)功能: 画一条或多条折线图。其中y是数值向量或数值矩阵。说明:当y是数值向量时,plot(y)在坐标系中顺序的用直线段连接顶点(i,y(i))画出一条折线图;当y是数值矩阵时,Matlab为矩阵的每一列画出一条折线,绘图时,以矩阵y每列元素的相应行下标值为横坐标,以y的元素为纵坐标绘制的连线图。例11:画出向量1,3,2,9,0.5折线图。解: y=1,3,2,9,0.5; plot(y) 2. plot(x,y)功能:画一条或多条折线图。其中x可以是长度为n的数值向量或是n´m的数值矩阵,y 也可以
11、是长度为n的数值向量或是n´m的数值矩阵。说明:¬当x ,y 都是长度为n的数值向量时,plot(x,y)在坐标系中顺序的用直线段连接顶点(x(i),y(i))画出一条折线图;当x 是长度为n的数值向量且y是n´m的数值矩阵时,plot(x,y)用向量x分别与矩阵y的每一列匹配, 在同一坐标系中绘出m条不同颜色的折线图;®当x 和y都是n´m的数值矩阵时,plot(x,y)分别用矩阵x的第i列与矩阵y的第i列匹配,在同一坐标系中绘出m条不同颜色的折线图。注: plot(x,y)命令可以用来画通常的函数f(x)图形, 此时向量x常用命
12、令x=a:h:b的形式获得f(x)函数在绘图区间a,b上的自变量点向量数据,对应的函数向量值取为y= f(x)。步长h可以任意选取,一般,步长越小,曲线越光滑,但是步长太小,会增加计算量,运算速度要降低。通常步长h取为0.1可以达到较好的绘图效果。如果想在图形中标出网格线,用命令:plot(x,y),grid on即可。例12:画出函数y = sin x2 在-5 £ x £ 5 的图形。 解: x=-5:.1:5; %取绘图横坐标向量点xy=sin(x.2); plot(x,y), grid on 例13:画出椭圆的曲线图。解: 对于这种情形,首先把它写成参数方程 。t=
13、0:pi/50:2*pi; x=5*cos(t); y=2*sin(t); plot(x,y) ,grid on3. plot(x1,y1,x2,y2,x3,y3)功能:在同一图形窗口画出多条不同颜色曲线,曲线关系为: 。例14:在同一图形窗口画出三个函数y = cos 2x ,y = x 2 ,y = x的图形。解: x=-2:.1:2; plot(x,cos(2*x),x,x.2,x,x) legend('cos(2x)','x2','x') 4ezplot(F,xmin,xmax)功能: 画出符号函数F在区间xmin,xmax内的图像说明:
14、 F是只含有一个变量的函数。如果区间xmin,xmax缺省,默认区间为-2pi,2pi例15:绘制在间的图形。解 ezplot('2/3*exp(-t/2)*cos(3/2*t)',0,4*pi)5二维特殊图形除了plot指令外,Matlab还提供了许多其它的二维绘图指令,这些指令大大扩充了Matlab的曲线作图指令,可以满足用户的不同需要。表2.4绘制二维图形的指令函数名称功能函数名称功能bar直方图loglog双对数曲线barh垂直的直方图semilogxx轴对数坐标曲线bar3三维直方图semilogyy轴对数坐标曲线bar3h垂直的三维直方图polar极坐标曲线hist
15、统计直方图stairs阶梯图pie饼图stem火柴棍图pie3三维饼图pcolor伪彩图fplot数值函数二维曲线area面积图ezplot符号函数二维曲线errorbar误差棒棒图gplot绘拓扑图quiver矢量场图fill平面多边形填色ribbon代状图例16:练习指令bar,stairs,pie,pie3,stem,area.解: x=1:5;subplot(2,3,1),bar(x),title('直方图')subplot(2,3,2),stairs(x),title('阶梯图')subplot(2,3,3),stem(x,'rp'),
16、title('火柴棍图')subplot(2,3,4),pie(x),title('饼图')subplot(2,3,5),pie3(x),title('三维饼图')subplot(2,3,6),area(x),title('面积图')七、M文件M文件有两种形式:命令文件和函数文件。它们都是由若干MATLAB语句或命令组成的文件。两种文件的扩展名都是.m。命令文件不带参数,代码执行完成以后,中间变量仍予以保留;函数文件一般带有参数,代码执行完成以后,中间变量被全部删除。l 文件的操作在MATLAB中新建M文件的操作是在命令窗口中选择
17、File|New|M-File,然后用鼠标单击M-File,就可以打开MATLAB自带的M文件编辑器。也可以对已经存在的M文件进行编辑、存储、修改和读取。M文件保存的路径一定要在搜索路径上,否则M文件不能运行。l 命令文件(脚本文件)M文件有两种运行方式:一是在命令窗口直接写文件名,按Enter键; 二是在编辑窗口打开菜单Tools,再单击Run。以下例题中如果不做特别说明,都是以第一种方式运行的。例15:用M命令文件画出衰减振荡曲线及其它的包络线。的取值范围是。解: 1.打开M文件编辑窗口; 2.在编辑窗口逐行写下列语句;t=0:pi/50:4*pi;y0=exp(-t/3);y=exp(-
18、t/3).*sin(3*t);plot(t,y,'-r',t,y0,':b',t,-y0,':b')3.保存M文件,并且保存在搜索路径上,文件名为a1.m;4.运行M文件。l M函数文件M函数文件的一般形式为:function <因变量>=<函数名>(<自变量>)M函数文件可以有多个因变量和多个自变量,当有多个因变量时用括起来。例16:设可逆方阵为A,编写同时求 的M函数文件。解:1.打开M文件编辑窗口; 2.在编辑窗口逐行写下列语句;function da,a2,inva,traa=comp4(x)%M函数文
19、件comp4.m同时求矩阵x的四个值%da为矩阵x的行列式%a2为矩阵x的平方%inva为矩阵x的逆矩阵%traa为矩阵x的转置da=det(x)a2=x2inva=inv(x)traa=x'3. 保存M函数文件,并且保存在搜索路径上,文件名为comp4.m;4命令窗口执行下列语句:A=1,2;5,8; %输入矩阵A。comp4(A) %调用comp4.m函数计算矩阵A的。八、程序设计语句l for循环 for i=范围表达式可执行语句 end例17:利用for循环求1100的整数之和。解:(1). 建立命令文件exam1.m。%利用for循环求1100的整数之和sum=0;for i
20、=1:100 sum=sum+i; endsum(2) 执行命令文件exam1.m。exam1例18:利用for循环找出100200 之间的所有素数。解: (1).建立命令文件exam2.m。 %利用for循环找出100200 之间的所有素数 disp('100200 之间的所有素数为:') for m=100:200 k=fix(sqrt(m); %求m的算术平方根然后取整. for i=2:k+1 if rem(m,i)=0 %求整数m与i的余数 break; end end if i>=k+1 disp(int2str(m) %以字符串的形式显示素数. end en
21、d(2) 执行命令文件exam2.m。l while循环while 逻辑表达式 循环体语句end例19:利用while循环来计算1!+2!+¼+50!的值。解: (1).建立命令文件exam3.m %利用while循环来计算1!+2!+.+50!的值sum=0;i=1;while i<51 prd=1; j=1; while j<=i prd=prd*j; j=j+1; end sum=sum+prd; i=i+1;enddisp(1!+2!+.+50!的和为:)sum(2) 执行命令文件exam3.ml if-else-end分支(1) if 逻辑表达式执行语句 end
22、 功能: 如果表达式的值为真,就执行语句,否则执行end后面的语句.(2) if 逻辑表达式执行语句1else 执行语句2 end 功能:如果表达式的值为真,就执行语句1,否则执行语句2.(3) if 逻辑表达式1执行语句1elseif 逻辑表达式2 执行语句2else 语句nend 功能:如果表达式1的值为真,就执行语句1,然后跳出if执行语句;否则判断表达式2,如果表达式2的值为真,就执行语句2,然后跳出if执行语句.否则依此类推,一直进行下去.如果所有的表达式的值都为假,就执行end后面的语句.例19:编一函数计算函数值:解: (1).建立M函数文件yx.m。function y=yx(x)if
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025内蒙古鄂温克族自治旗融媒体中心多元化岗位招聘2人考前自测高频考点模拟试题及答案详解(名师系列)
- 2025广西钦州市钦南区林业局招聘1人考前自测高频考点模拟试题及答案详解(典优)
- 2025年东营市“英才进广饶”(教师类)事业单位引进人才招聘(31人)模拟试卷及参考答案详解
- 2025年度应急管理部所属单位第二批次公开招聘102人模拟试卷及完整答案详解一套
- 2025年成都市武侯区公开选调事业单位工作人员10人模拟试卷及一套答案详解
- 2025年安徽省三支一扶招聘考试(962人)考前自测高频考点模拟试题附答案详解(典型题)
- 2025内蒙古自治区精神卫生中心招聘急需紧缺合同制人员13人考前自测高频考点模拟试题及一套答案详解
- 有关承揽合同(简3)5篇
- 2025昆明市盘龙区滇源街道中心卫生院第二次招聘(2人)考前自测高频考点模拟试题及完整答案详解
- 2025江苏淮安市淮阴城市产业投资集团有限公司招聘拟聘用人员模拟试卷及参考答案详解
- 2025年贵州省中考物理试题【含答案、解析】
- 箱变基础施工工艺流程
- 异地主播考试试题及答案
- 微电子器件(4-11)多栅结构MOSFET与FinFET
- 员工主动离职合同协议
- 2024年安徽职业技术学院招聘笔试真题
- 伴郎伴娘租赁协议合同
- 退役军人适应性培训
- 中国大唐集团有限公司陆上风电工程标杆造价指标(2023年)
- 《文学概述》课件
- 2025年物业公司年度安全生产工作计划
评论
0/150
提交评论