




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
MATLAB简介MATLAB=MATrix+LABoratory20世纪七十年代后期:时任美国新墨西哥大学计算机科学系主任的CleveMoler教授出于减轻学生编程负担的动机,为学生设计了一组“通俗易用”的接口,此即用FORTRAN编写的萌芽状态的MATLAB。MATLAB简介MATLAB=MATrix1
MATLAB作为一种编程语言和可视化工具,可解决工程、科学计算和数学学科中许多问题。
MATLAB建立在向量、数组和矩阵的基础上,使用方便,人机界面直观,输出结果可视化。
矩阵是MATLAB的核心
强大的绘图、计算和统计功能MATLAB作为一种编程语言和可视化工具,可2在欧美大学里,诸如应用代数、数理统计、自动控制、数字信号处理、模拟与数字通信、时间序列分析、动态系统仿真等课程的教科书都把MATLAB作为内容。这几乎成了九十年代教科书与旧版书籍的区别性标志。在那里,MATLAB是攻读学位的大学生、硕士生、博士生必须掌握的基本工具。 在国际学术界,MATLAB已经被确认为准确、可靠的科学计算标准软件。在许多国际一流学术刊物上,(尤其是信息科学刊物),都可以看到MATLAB的应用。在欧美大学里,诸如应用代数、数理统计、自动控制、数字信号处理3
MATLAB作为线性系统的一种分析和仿真工具,是理工科大学生应该掌握的技术工具,它作为一种编程语言和可视化工具,可解决工程、科学计算和数学学科中许多问题。
MATLAB建立在向量、数组和矩阵的基础上,使用方便,人机界面直观,输出结果可视化。
矩阵是MATLAB的核心MATLAB作为线性系统的一种分析和仿真工具4
Matlab程序的特点1,提供了一种全新的编程语言,其语法规则简单,很贴近人的思维方式。2,Matlab语言还直接提供了强有力的绘图指令。3,Matlab的运算功能很强,对化学计量学程序调试和编制有很大好处。4,Matlab语言在矩阵运算的方面,显得特别简捷、高效和方便。
Matlab程序的特点1,提供了一种全新的编程语言,其语法5
应用实例:1
简单的计算器使用法
【例1-1】求的算术运算结果。
(1)用键盘在MATLAB指令窗中输入以下内容
>>(12+2*(7-4))/3^2
(2)在上述表达式输入完成后,按【Enter】键,该就指令被执行。
(3)在指令执行后,MATLAB指令窗中将显示以下结果。
ans=2
应用实例:6【例1-2】简单矩阵的输入步骤。
(1)在键盘上输入下列内容
A=[1,2,3;4,5,6;7,8,9]
(2)按【Enter】键,指令被执行。
(3)在指令执行后,MATLAB指令窗中将显示以下结果:
A=
123
456
789
【例1-2】简单矩阵的输入步骤。
(1)在键盘上输入下列内容7【例1-3】矩阵的分行输入
A=[1,2,3
4,5,6
7,8,9]
(以下是显示结果)
A=
123
456
789
【例1-3】矩阵的分行输入
A=[1,2,3
4,5,6
8Matlab的基本运算符(1)矩阵(算术)运算符A’表示矩阵A的转置;A+B:表示矩阵A和B的和A*B:表示矩阵A和B的乘法A.*B:表示矩阵A和B的对应元素相乘A..\B表示矩阵B的元素除以矩阵A的对应元素(2)矩阵的创建
a)显示地输入一个元素序列;b)用Matlab的内部函数创建一个矩阵;c)在M文件中用Matlab语句创建一个矩阵;例:A=[1357;12353;3591]创建矩阵。Matlab的基本运算符(1)矩阵(算术)运算符A’表示矩阵9求解代数方程AX=B问题。教科书的基本叙述:当行数等于列数(标量)时,X=A-1B;若行数大于列数满秩阵,X=(A’A)-1A’B;若列数大于行数时,有无数解。(A是非奇异矩阵),一般程序就必须按以上不同情况进行编程。然而对MATLAB来说,那只需一条简单指令:x=A\b。计算的快速性、准确性和稳定性是普通程序所远不及的。
求解代数方程AX=B问题。10Matlabprogram%Thisisanexampleofsolvinglinearequations!%UsingMatlablanguage.E=[1.50200.051400.04080.02611.151600.08200.03420.03552.5320.29330.03400.068400.3470]pauseA=[0.10130.099430.21940.03396]'pauseC=inv(E)*AorC=E\AMatlabprogram11
MATLAB入门一、变量与函数二、数组三、矩阵四、MATLAB编程MATLAB入门一、121、变量MATLAB中变量的命名规则是:(1)变量名必须是不含空格的单个词;(2)变量名区分大小写;(3)变量名最多不超过19个字符;(4)变量名必须以字母打头,之后可以是任意字母、数字或下划线,变量名中不允许使用标点符号.
一、变量与函数
13特殊变量表特殊变量表142、数学运算符号及标点符号(1)MATLAB的每条命令后,若为逗号或无标点符号,则显示命令的结果;若命令后为分号,则禁止显示结果.(2)“%”后面所有文字为注释.(3)“...”表示续行.2、数学运算符号及标点符号(1)MATLAB的每条命令后,若153、数学函数3、数学函数16
MATLAB的内部函数是有限的,有时为了研究某一个函数的各种性态,需要为MATLAB定义新函数,为此必须编写函数文件.函数文件是文件名后缀为M的文件,这类文件的第一行必须是一特殊字符function开始,格式为:
function因变量名=函数名(自变量名)函数值的获得必须通过具体的运算实现,并赋给因变量.
4、M文件M文件建立方法:1.在Matlab中,点:File->New->M-file2.在编辑窗口中输入程序内容3.点:File->Save,存盘,M文件名必须与函数名一致。Matlab的应用程序也以M文件保存。MATLAB的内部函数是有限的,有时为了研究某17例:定义函数f(x1,x2)=100(x2-x12)2+(1-x1)2functionf=fun(x)f=100*(x(2)-x(1)^2)^2+(1-x(1))^21.建立M文件:fun.mMATLAB(fun)2.可以直接使用函数fun.m例如:计算f(1,2),只需在Matlab命令窗口键入命令:x=[12]fun(x)
返回例:定义函数f(x1,x2)=100(x2-x12)2+(18x=logspace(first,last,n)
创建从开始,到结束,有n个元素的对数分隔行向量.1、创建简单的数组二、数组MATLAB(shuzu1)x=[abcdef]创建包含指定元素的行向量x=first:last
创建从first开始,加1计数,到last结束的行向量x=first:increment:last
创建从first开始,加increment计数,last结束的行向量x=linspace(first,last,n)
创建从first开始,到last结束,有n个元素的行向量x=logspace(first,last,n)1、创建简19
2、数组元素的访问MATLAB(shuzu2)(3)直接使用元素编址序号.x([abcd])表示提取数组x的第a、b、c、d个元素构成一个新的数组[x(a)x(b)x(c)x(d)].(2)访问一块元素:x(a:b:c)表示访问数组x的从第a个元素开始,以步长为b到第c个元素(但不超过c),b可以为负数,b缺损时为1.(1)访问一个元素:x(i)表示访问数组x的第i个元素.2、203、数组的方向
前面例子中的数组都是一行数列,是行方向分布的.称之为行向量.数组也可以是列向量,它的数组操作和运算与行向量是一样的,唯一的区别是结果以列形式显示.
产生列向量有两种方法:直接产生例c=[1;2;3;4]转置产生例b=[1234];c=b’说明:以空格或逗号分隔的元素指定的是不同列的元素,而以分号分隔的元素指定了不同行的元素.3、数组的方向214、数组的运算
(1)标量-数组运算数组对标量的加、减、乘、除、乘方是数组的每个元素对该标量施加相应的加、减、乘、除、乘方运算.设:a=[a1,a2,…,an],c=标量则:a+c=[a1+c,a2+c,…,an+c]a.*c=[a1*c,a2*c,…,an*c]a./c=[a1/c,a2/c,…,an/c](右除)a.\c=[c/a1,c/a2,…,c/an](左除)a.^c=[a1^c,a2^c,…,an^c]c.^a=[c^a1,c^a2,…,c^an]MATLAB(shuzu3)4、数组的运算(1)标量-数组运算设:a=[a1,22(2)数组-数组运算
当两个数组有相同维数时,加、减、乘、除、幂运算可按元素对元素方式进行的,不同大小或维数的数组是不能进行运算的.
设:a=[a1,a2,…,an],b=[b1,b2,…,bn]则:a+b=[a1+b1,a2+b2,…,an+bn]a.*b=[a1*b1,a2*b2,…,an*bn]a./b=[a1/b1,a2/b2,…,an/bn]a.\b=[b1/a1,b2/a2,…,bn/an]a.^b=[a1^b1,a2^b2,…,an^bn]MATLAB(shuzu4)
返回(2)数组-数组运算设:a=[a1,a2,…,an],b=232.控制指令:who;whos;clear【例2-1】用who检查MATLAB内存变量。 在指令窗中运行以下指令,就可看到内存变量。who
Yourvariablesare:
RYxy1XZyy2
2.控制指令:who;whos;clear24【例2-2】键入whos,获得驻留变量的详细情况:全部变量名,变量的数组维数,占用字节数,变量的类别(如双精度)等。whosNameSizeBytesClassR33x338712doublearrayX33x338712doublearrayY33x338712doublearrayZ33x338712doublearrayx1x33264doublearrayy33x1264doublearrayy11x18doublearrayy21x18doublearrayGrandtotalis4424elementsusing35392bytes
【例2-2】键入whos,获得驻留变量的详细情况:全部变253.
save和load指令〖说明〗
如果一组数据是经过长时间的复杂计算后获得的,那末为避免再次重复计算,常使用save加以保存。此后,每当需要,都可通过load重新获取这组数据。这种处理模式常在实际中被采用。(mkdir;cd;dir;save;load)【例3-1】数据的存取。(1)建立用户目录,并使之成为当前目录,保存数据mkdir('c:\','my_dir'); %在C盘上创建目录my_dircdc:\my_dir%使c:\my_dir成为当前目录savesafXZ%选择内存中的X,Z变量保存为saf.mat文件dir %显示目录上的文件
...saf.mat
3.
save和load指令26(2)清空内存,从saf.mat向内存装载变量Zclear %清除内存中的全部变量loadsafZ %把saf.mat文件中的Z变量装入内存who %检查内存中有什么变量
Yourvariablesare:Z
(2)清空内存,从saf.mat向内存装载变量Z274.Plot[例4-1]vector=linspace(0,8,100);values=2.^vector;clf;plot(vector,values);Plot(vector,values,’b-’)4.PlotPlot(vector,values,’b-’28
[例4-2]绘制函数曲线。x=0:0.1:1 %定义自变量的采样点取值数组y=x.*exp(-x)
%利用数组运算计算各自变量采样点上的函数值plot(x,y),xlabel(‘x’),ylabel(‘y’),title(‘y=x*exp(-x)’) %绘图
[例4-2]绘制函数曲线。29[例4-3]vector2=2:0.5:8;[x,y]=meshgrid(vector2)mesh(x,y,2.^x+2.^y)surf(x,y,2.^x+2.^y)[例4-3]surf(x,y,2.^x+2.^y)305、HELP
demo;helpwin;helpdesk…直接使用help获得指令的使用说明【例4-1】假如准确知道所要求助的主题词,或指令名称,那末使用help是获得在线帮助的最简单有效的途径。本例演示:关于矩阵对数函数logm使用说明的在线求助。helplogm
使用help指令进行分类搜索【例4-2】运行不带任何限定的help,可以得到分类名称明细表。help
5、HELP
使用help指令进行分类搜索31三、矩阵
逗号或空格用于分隔某一行的元素,分号用于区分不同的行.除了分号,在输入矩阵时,按Enter键也表示开始一新行.输入矩阵时,严格要求所有行有相同的列.
例m=[1234;5678;9101112]p=[111122223333]1、矩阵的建立三、矩阵逗号或空格用于分隔某一行的元32特殊矩阵的建立:.MATLAB(matrix1)d=eye(m,n)产生一个m行、n列的单位矩阵c=ones(m,n)产生一个m行、n列的元素全为1的矩阵b=zeros(m,n)产生一个m行、n列的零矩阵a=[]产生一个空矩阵,当对一项操作无结果时,返回空矩阵,空矩阵的大小为零.特殊矩阵的建立:.MATLAB(matrix1)d=eye332、矩阵中元素的操作MATLAB(matrix2)(1)矩阵A的第r行:A(r,:)(2)矩阵A的第r列:A(:,r)(4)取矩阵A的第i1~i2行、第j1~j2列构成新矩阵:A(i1:i2,j1:j2)(5)以逆序提取矩阵A的第i1~i2行,构成新矩阵:A(i2:-1:i1,:)(6)以逆序提取矩阵A的第j1~j2列,构成新矩阵:A(:,j2:-1:j1)(7)删除A的第i1~i2行,构成新矩阵:A(i1:i2,:)=[](8)删除A的第j1~j2列,构成新矩阵:A(:,j1:j2)=[](9)将矩阵A和B拼接成新矩阵:[AB];[A;B](3)依次提取矩阵A的每一列,将A拉伸为一个列向量:A(:)2、矩阵中元素的操作MATLAB(matrix2)(1)矩阵34
(2)矩阵-矩阵运算[1]元素对元素的运算,同数组-数组运算。
3、矩阵的运算(1)标量-矩阵运算
同标量-数组运算。MATLAB(matrix3)
[2]矩阵运算:矩阵加法:A+B矩阵乘法:A*B方阵的行列式:det(A)方阵的逆:inv(A)方阵的特征值与特征向量:[V,D]=eig[A]
返回(2)矩阵-矩阵运算3、矩阵的运算(1)标量-矩阵35关系与逻辑运算
1、关系操作符关系与逻辑运算1、关系操作符362、逻辑运算符2、逻辑运算符371、for循环:允许一组命令以固定的和预定的次数重复
forx=array{commands}end在for和end语句之间的命令串{commands}按数组(array)中的每一列执行一次.在每一次迭代中,x被指定为数组的下一列,即在第n次循环中,x=array(:,n)控制流MATLAB提供三种决策或控制流结构:
for循环、while循环、if-else-end结构.这些结构经常包含大量的MATLAB命令,故经常出现在MATLAB程序中,而不是直接加在MATLAB提示符下.例对n=1,2,…,10,求xn=的值MATLAB(for1)1、for循环:允许一组命令以固定的和预定的次数重复控制流M38
whileexpression{commands}end
只要在表达式(expression)里的所有元素为真,就执行while和end语句之间的命令串{commands}.2、While循环
与for循环以固定次数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公开招投标居间合同
- 三农项目评估与实施方案
- 建筑工地安全环保施工协议
- 广州买卖手房定金合同
- 温岭环氧地坪施工方案
- 个人车辆借用协议书
- 商场中央空调安装工程委托合同
- 防腐木阳台地面施工方案
- 数字媒体设计与制作相关知识点总结及测试卷
- 绿色建筑项目投资协议
- MES系统实施管理办法
- 2024年新课标高考化学真题试题(原卷版+含解析)
- 《七色花》整本书阅读导读活动 教学设计-2023-2024学年语文二年级下册统编版
- DL-T5153-2014火力发电厂厂用电设计技术规程
- 冀人版科学六年级下册全册同步练习
- 2024年陕西省高中学业水平合格考数学试卷试题二(含答案)
- 医院营养食堂餐饮服务投标方案(技术方案)
- 恶性心律失常的识别及处理
- 宗教活动场所财务管理办法
- 冀教版数学四年级(下册)观察物体(二)第2课时 观察立体
- 2024年中国科学技术大学少年创新班数学试题真题(答案详解)
评论
0/150
提交评论