已阅读5页,还剩89页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
MATLAB编程入门,.,学习方法,MATLAB,基础入门MATLAB简介MATLAB基本操作MATLAB常用命令,设计提高MATLAB数组运算MATLAB矩阵运算MATLAB程序设计,综合应用MATLAB数值实验MATLAB统计实验MATLAB优化实验,2,课程目录,3,1.MATLAB简介,4,1.MATLAB简介,1.1MATLAB发展历史,1.2MATLAB应用领域,1.3MATLAB工具箱,1.4MATLAB安装文件,1.5MATLAB操作界面,1.6MATLAB文件类型,1.7MATLAB常用命令,5,1.MATLAB简介,MatlabMatrixLaboratory,CleveMoler,MatlabMatrixLaboratory,该语言是美国NewMexico大学计算机系主任CleveMoler在70年代后期首先设计的.并于80年代初开发了第二代专业版.,1984年,CleveMoler和JohnLitter成立了Mathworks公司,并开始把Matlab推向市场.(迈斯沃克公司),1.1MATLAB发展历史,6,1.MATLAB简介,目前,Matlab已经成为国际上最流行的科学与工程计算的软件工具,它已经不仅仅是一个“矩阵实验室”了,而成为了一种具有广泛应用前景的全新的计算机高级编程语言,有人称它为“第四代”计算机语言。就影响而言,至今仍然没有一个别的计算软件可与Matlab匹敌。,MathematicaMapleSASSPSSEviewsLINGOLINDO,在欧美各高等院校,Matlab已经成为线性代数、自动控制理论、数字信号处理、时间序列分析、动态系统仿真、图像处理等课程的基本教学工具,成为大学生、硕士生以及博士生必须掌握的基本技能。,1.2MATLAB应用领域,7,1.MATLAB简介,1.3MATLAB工具箱,8,1.MATLAB简介,1.3MATLAB工具箱,9,1.MATLAB简介,1.4MATLAB安装文件,10,1.MATLAB简介,1.5MATLAB操作界面快捷键F5运行,11,1.MATLAB简介,1.6MATLAB文件类型,12,1.MATLAB简介,1.7MATLAB常用命令,13,1.MATLAB简介,1.7MATLAB常用命令,14,2.MATLAB语言基础,15,2.MATLAB语言基础,2.1MATLAB数据类型,2.2MATLAB数组运算,2.3MATLAB向量运算,2.4MATLAB矩阵运算,2.5MATLAB字符串运算,2.6MATLAB关系运算,2.7MATLAB逻辑运算,16,2.MATLAB语言基础,2.1MATLAB数据类型,MATLAB,Matlab数据类型,1.数值型,2.字符字符串,3.元胞数组,4.架构数组,17,2.MATLAB语言基础,2.1MATLAB数据类型变量,Matlab中变量名是以字母开头,可以由字母、数字或下划线组成Matlab区分大小写,它的命令和函数全是小写的Matlab变量名不超过31个字符,18,2.MATLAB语言基础,2.1MATLAB数据类型常量,19,2.MATLAB语言基础,2.1MATLAB数据类型数字显示格式命令,20,2.MATLAB语言基础,2.2MATLAB数组运算表达式,Matlab中的表达式由运算符、函数、变量名和数字组成,Matlab语句由变量和表达式组成,有两种常见形式:,形式1:表达式,形式2:变量=表达式,若不想显示形式1或2的运算结果,可在表达式后加分号“;”,21,2.MATLAB语言基础,2.2MATLAB数组运算运算符,22,2.MATLAB语言基础,2.2MATLAB数组运算数组的构造,x=01357910,x=0,1,3,5,7,9,10,x=01357910,手动法数组用中括号,以空格或逗号为间隔输入元素,23,2.MATLAB语言基础,2.2MATLAB数组运算数组的构造,x=0:0.5:2,x=00.50001.00001.50002.0000,冒号法a:步长:ba:b(默认步长=1),y=0:5,y=01.00002.00003.00004.00005.0000,24,2.MATLAB语言基础,2.2MATLAB数组运算数组的构造,x=linspace(0,pi,12),x=00.28560.57120.85681.14241.42801.71361.99922.28482.57042.85603.1416,函数法linspace(a,b,n)从a开始,到b结束,包含n个数据元素的数组,a:(b-a)/(n-1):b,25,2.MATLAB语言基础,2.2MATLAB数组运算数组的引用,x=12345x(1:3),ans=123,x(n)表示数组中的第n个元素x(n1:n2)表示数组中的第n1到n2个元素,26,2.MATLAB语言基础,2.2MATLAB数组运算矩阵数组,A=2,4,6,8;1357;0000;1,0,1,0,以空格或逗号分隔,指定不同的列以分号或回车分隔,指定不同的行,27,2.MATLAB语言基础,2.2MATLAB数组运算四则运算,数组与标量间的四则运算,x=134;2,6,5;32,4,a=2*x-2,a=0462108426,28,2.MATLAB语言基础,2.2MATLAB数组运算四则运算,数组间的四则运算,必须具有相同的维数,对应元素进行运算+-.*./.,a=134;2,6,5;32,4,b=231;412;453,c=365677777,c=a+b,29,2.MATLAB语言基础,2.2MATLAB数组运算四则运算,a=134;2,6,5;32,4,b=231;412;453,c=2948610121012,c=a.*b,d=a./b,d=0.50001.00004.00000.50006.00002.50000.75000.40001.3333,a./b=b.a,30,2.MATLAB语言基础,2.2MATLAB数组运算幂运算,数组的幂运算.,a=134;2,6,5;32,4,c=a.2,c=1916436259416,d=192935295258192938,d=a2,31,2.MATLAB语言基础,2.2MATLAB数组运算幂运算,a=134;2,6,5;32,4,b=231;412;453,c=127416625813264,c=a.b,32,2.MATLAB语言基础,2.3MATLAB向量运算点积,c=dot(a,b)c=ab,相当于a*b(a与b都是行向量),a=24531,b=38101213,c=137,c=dot(a,b),33,2.MATLAB语言基础,2.3MATLAB向量运算叉积,c=cross(a,b)c=ab,a与b必须是3维向量,a=245,b=3810,c=0-54,c=cross(a,b),34,2.MATLAB语言基础,2.3MATLAB向量运算混合积,由dot和cross两个函数共同完成abc=(ab)c,a=245,b=3810,c=0-54,c=0-54,d=dot(a,cross(b,c),35,2.MATLAB语言基础,2.3MATLAB向量运算向量函数,36,2.MATLAB语言基础,2.4MATLAB矩阵运算特殊矩阵,37,2.MATLAB语言基础,2.4MATLAB矩阵运算矩阵加法,矩阵的四则运算,A=12;35;26,B=24;18;90,C=36413116,C=A+B,38,2.MATLAB语言基础,2.4MATLAB矩阵运算矩阵乘法,矩阵的四则运算,A=12;35;26,B=241;890,D=182214657352622,D=A*B,39,2.MATLAB语言基础,2.4MATLAB矩阵运算矩阵除法,在Matlab中矩阵的除法分左除“”和右除“/”X=AB给出线性方程组AX=B的一个解X=B/A给出线性方程组XA=B的一个解,AB,B/A,sym(AB,r)=5/719/7-8/7-1-6/744/7754/7,sym(B/A,r)=-2/78/713/71/717/725/74/726/737/7,A=,B=,40,2.MATLAB语言基础,2.4MATLAB矩阵运算矩阵乘幂,矩阵的幂运算,A=213120;782021;173431,C=A2,C=343320741754355537662631353623122015,41,2.MATLAB语言基础,2.4MATLAB矩阵运算矩阵转置、逆、行列式,矩阵的转置、逆运算及行列式运算,A=120;25-1;410-1,C=A,C=12425100-1-1,D=inv(A),e=det(A),D=52-2-2-110-21,e=1,42,2.MATLAB语言基础,2.5MATLAB字符串运算常用字符串函数,43,2.MATLAB语言基础,2.6MATLAB关系运算,关系操作符,大于=大于等于=等于=不等于运算法则:若关系式成立,结果为1;若关系式不成立,结果为0。,A=14357B=26907A=Bans=00001,44,2.MATLAB语言基础,2.7MATLAB逻辑运算,逻辑操作符,p2=005132;,p=p1+p2,ans=2*x5+5*x4+5*x3+5*x2+4*x+6,+、-、conv(p1,p2)、deconv(p1,p2)加减要补零,相同长度,poly2sym(p),49,3.MATLAB数值计算,3.1多项式四则运算,p1=250414;p2=005132;,p=conv(p1,p2),ans=10*x8+27*x7+11*x6+39*x5+19*x4+33*x3+15*x2+14*x+8,+、-、conv(p1,p2)、deconv(p1,p2),poly2sym(p),50,3.MATLAB数值计算,3.1多项式四则运算,p1=250414;p2=005132;,p,r=deconv(p1,p2),p=0.40000.9200-0.4240r=0000.86400.43204.8480,+、-、conv(p1,p2)、deconv(p1,p2),51,3.MATLAB数值计算,3.1多项式求导运算,p1=250414,h=polyder(p1),polyder(p),poly2sym(h),ans=10*x4+20*x3+8*x+1,52,3.MATLAB数值计算,3.1多项式求值运算,p1=250414,h=polyval(p1,3,4),polyval(p,s)数组规则polyvalm(p,s)矩阵规则,k=polyvalm(p1,3,4;4,6),h=9343400k=43414626406264090394,53,3.MATLAB数值计算,3.1多项式求根运算,p1=256418,h=roots(p1),roots(p),h=-1.7640-0.8679+1.3394i-0.8679-1.3394i0.5000+0.8001i0.5000-0.8001i,54,3.MATLAB数值计算,3.1多项式多项式函数,55,3.MATLAB数值计算,3.2多项式插值,interp1(x,y,x1,method),x=4:15;y=589152529313022252724;x=4:0.5:15;yn=interp1(x,y,x1,nearest);yl=interp1(x,y,x1,linear);ys=interp1(x,y,x1,spline);yc=interp1(x,y,x1,cubic);plot(x,y,o,x1,yn,-);plot(x,y,o,x1,yl,-);plot(x,y,o,x1,ys,-);plot(x,y,o,x1,yc,-);,56,3.MATLAB数值计算,3.3多项式拟合,x=linspace(x,y,n);y=cos(x);,p=polyfit(x,y,6);y1=polyval(p,x);,polyfit(x,y,n),plot(x,y,or,x,y1,-b);,57,4.MATLAB程序设计,58,4.MATLAB程序设计,4.1M文件,4.2数据的输入输出,4.3程序结构控制,59,4.MATLAB程序设计,4.1M文件局部变量与全局变量,globalABC,无论在脚本文件还是在函数文件中,都会定义一些变量。函数文件所定义的变量是局部变量,这些变量独立于其他函数的局部变量和工作空间的变量,即只能在该函数的工作空间引用,而不能在其他函数工作空间和命令工作空间引用。但是如果某些变量被定义成全局变量,就可以在整个MATLAB工作空间进行存取和修改,以实现共享。因此,定义全局变量是函数间传递信息的一种手段。,60,4.MATLAB程序设计,4.1M文件M文件的编辑,61,4.MATLAB程序设计,4.1M文件脚本文件,x=linspace(x,y,n);y=cos(x);,p=polyfit(x,y,6);y1=polyval(p,x);,一些命令的集合,plot(x,y,or,x,y1,-b);,62,4.MATLAB程序设计,4.1M文件函数文件,functiony=hanshu(x)y=sin(x)+cos(x);,function开头,编制一个函数文件,输入什么,输出什么,输出参数表=函数名(输入参数表),63,4.MATLAB程序设计,4.1M文件常用数学函数,64,4.MATLAB程序设计,4.2数据输入与输出键盘输入屏幕输出,x=input(请输入数据);disp(x);,inputdisp,65,4.MATLAB程序设计,4.2数据输入与输出M数据文件存储加载,save存储,66,4.MATLAB程序设计,4.2数据输入与输出M数据文件存储加载,load加载,67,4.MATLAB程序设计,4.2数据输入与输出外部文件导入,filename,pathname=uigetfile(*.xls);%寻找源文件file=pathnamefilename;%赋名x=xlsread(file);%格式转换为矩阵之后就用x来代表导入的这个矩阵。如excel里输入了123456如下命令x(1,:)ans=123,.xlsEXCEL文件数据导入,68,4.MATLAB程序设计,4.2数据输入与输出外部文件导入,a1,a2,a3,a4=textread(test1.txt,%s%s%s%s,headerlines,4)说明:%s可以是其他形式,跟读入的数据类型有关,比如这里也可以用%n,%f等。这里%s的个数和a1,a2,a3,a4对应。,.txt记事本文件数据导入,69,4.MATLAB程序设计,4.2数据输入与输出外部文件导入,file-importdata按照提示进行,.xls,.txt,70,4.MATLAB程序设计,4.3程序结构控制for循环,for循环控制命令,格式:fori=n1:(step):n2commands;end作用:重复执行命令集commands.,循环控制命令(for命令),71,4.MATLAB程序设计,4.3程序结构控制for循环,例1:求和:s=1+2+nn=input(请输入n=);s=0;fori=1:ns=s+i;fprintf(i=%.0f,s=%.0fn,i,s);end,例2:求奇数和:s=1+3+5+(2k-1)n=input(请输入n=);s=0;fori=1:2:ns=s+i;fprintf(i=%.0f,s=%.0fn,i,s);end,72,4.MATLAB程序设计,4.3程序结构控制for循环,例3:求阶乘:p=123n=n!n=input(请输入n=);p=1;fori=1:np=p*i;fprintf(i=%.0f,p=%.0fn,i,p);end,例4:求e:e=1+1+1/2!+1/3!+1/n!n=input(请输入n=);p=1;e=1;fori=1:np=p*i;p1=1/p;e=e+p1;fprintf(i=%.0f,p=%.0f,e=%.8fn,i,p,e);end,73,4.MATLAB程序设计,4.3程序结构控制for循环,例5:求pi:pi/4=1-1/3+1/5-1/7+1/9-1/11+n=input(请输入n=);pi=0;k=-1;fori=1:2:nk=(-1)*k;pi=pi+k*1/i;fprintf(i=%.0f,pi=%.8fn,i,4*pi);end,74,4.MATLAB程序设计,4.3程序结构控制while循环,while条件循环命令,条件循环命令(while命令),格式:while(conditionistrue)commands;end作用:重复执行命令集commands.,75,4.MATLAB程序设计,4.3程序结构控制while循环,例6:求和:s=1+2+n3000s=0;k=1;whiles3000s=s+k;fprintf(k=%.0f,s=%.0fn,k,s);k=k+1;end,例7:求e:e=1+1+1/2!+1/3!+(1/n!=1.0e-8p=p*i;r=1/p;e=e+r;fprintf(i=%.0f,r=%.9f,e=%.9fn,i,r,e);i=i+1;end,76,4.MATLAB程序设计,4.3程序结构控制if控制,if选择控制命令,单项选择控制格式:if(conditionistrue)commands;end作用:若条件成立,则执行命令集commands.否
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 临床住院患者心跳呼吸骤停的应急流程
- 河南省焦作市2025-2026学年高三下学期联考语文试题含解析
- 某水泥厂原料输送流程准则
- 2026电气检测的面试题及答案
- 2026高校招聘面试题及答案解析
- 2026烘焙工厂面试题目及答案
- 2026家庭作业面试题及答案
- 光机电一体化公司资金结算员述职报告
- 人工智能驱动的金融风险识别技术
- 保险AI模型安全风险评估模型
- 2026年安徽省中考数学试题(原卷版)
- 2026年医师定期考核中医试题(完整版)附答案
- 口服抗栓药物消化道损伤防治共识2026
- 2026年gcp考试及答案
- 国家癌症中心2025年癌症统计报告
- 养老院出入院管理制度
- 郴州亚光高纯银电解项目环境影响报告书
- 《JBT 7052-2024六氟化硫高压电气设备用橡胶密封件技术规范》专题研究报告
- 沪滇协作资金实施方案
- 体重管理门诊工作制度
- 钢筋混凝土盖板更换专项施工方案
评论
0/150
提交评论