版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2023/3/7中山大学计算机科学系10.3MATLAB编程入门10.3.1MATLAB简介10.3.2MATLAB主窗口与帮助10.3.3MATLAB基本数值运算10.3.4编写MATLAB程序10.3.5绘图10.3.6符号计算2023/3/7中山大学计算机科学系10.3.1MATLAB简介MATLAB是一种面向科学与工程计算的交互式软件开发环境和编程语言,于1984年由美国MathWorks
公司推出。目前,常用版本是MATLAB7.X。显著特点:MATLAB拥有丰富的、可以灵活配置和扩充的函数库。目前,MATLAB已广泛应用于科学计算、控制系统、信息处理等领域的分析、仿真和设计工作,是学术研究、工程设计和高校教学的基本计算工具。2023/3/7中山大学计算机科学系10.3.2MATLAB主窗口与帮助一、MATLAB主窗口2023/3/7中山大学计算机科学系10.3.2MATLAB主窗口与帮助命令窗口:“>>”为命令提示符标记,当用户输入一条命令并按回车键时,MATLAB将立即执行并显示相应结果。2023/3/7中山大学计算机科学系10.3.2MATLAB主窗口与帮助历史窗口:记录了用户在MATLAB命令窗口中输入过的所有命令。当前目录窗口:列出当前工作目录下的所有文件,而默认工作目录是MATLAB安装目录下的work子目录,如E:\MATLAB7\work。工作空间窗口:列出当前使用的所有变量。通过鼠标右击,读者可以对选定变量进行修改、复制、删除、保存等操作。2023/3/7中山大学计算机科学系10.3.2MATLAB主窗口与帮助二、MATLAB帮助选择菜单“Help”→“Demos”命令打开“Help”窗口学习MATLAB提供的样例演示教程。
在命令窗口中使用help、doc、lookfor、exist、what、who、whos、which、open等帮助命令:>>helpsin>>whichsin>>doclookfor2023/3/7中山大学计算机科学系10.3.3MATLAB基本数值运算MATLAB的基本运算单元是矩阵。可将1个简单操作数视为1×1矩阵,而将1个n维向量视为1×n或n×1矩阵。一、输入矩阵方法:在一对方括号([])内,按行依次键入每个元素,而元素之间用逗号“,”(或空格)分隔,矩阵行之间用分号“;”分隔(或按回车键)。如:>>[123;4,5,6]按回车>>[7,8,9]按回车>>[7;8;9]按回车2023/3/7中山大学计算机科学系10.3.3MATLAB基本数值运算二、变量定义形式:变量=表达式>>x=[123;456]%建立2×3矩阵,并赋予变量x注意以下几点:变量名区分大小写在语句后附加“;”,则不输出当前命令的结果在工作空间窗口中,若双击某个变量,可修改变量值输入字符串时必须用单引号“'”标记,如:>>s='MATLAB是两个单词MatrixLaboratory的缩写'2023/3/7中山大学计算机科学系10.3.3MATLAB基本数值运算三、访问矩阵元素下标访问形式:变量(行下标,列下标)行、列下标起始于1如:>>x=[123;456]>>x(2,1)%读取矩阵第2行第1列的元素值>>x(1,3)=9%将矩阵的第1行第3列元素修改为9>>x>>x(1:2,3)%从矩阵第3列,取出第1~2行元素,生成列向量>>x(2,2:3)%从矩阵第2行,取出第2~3列元素,生成行向量2023/3/7中山大学计算机科学系10.3.3MATLAB基本数值运算四、函数与MATLAB工具箱MATLAB工具箱大致分为以下两类:通用工具箱:用于多种学科,如MATLAB主工具箱专用工具箱:只适用于特定学科已安装的MATLAB工具箱的每个函数对应于安装目录下toolbox目录中的某个M文件。使用MATLAB帮助,可查阅已安装工具箱中所有函数的功能和用法。2023/3/7中山大学计算机科学系10.3.3MATLAB基本数值运算五、基本算术运算基本的+、-、*、除、^(乘方)等运算,如:>>r=3>>L=2*pi*r>>s=pi*r^2>>c=sqrt(3^2+4^2)对于除法,有右除(/)、左除(\)之分,如:>>1/4>>4\1复数运算,如:>>a=1+7i;b=3-i%定义复数a,b>>conj(a+b)%求复数a+b的共轭复数2023/3/7中山大学计算机科学系10.3.3MATLAB基本数值运算六、基本向量运算向量的特殊创建方法:使用冒号“:”或linspace
如:>>v1=1:5%建立步长为1的等差序列向量(1,2,3,4,5)>>v2=1:2:10%建立步长为2的等差序列向量(1,3,5,7,9)>>v3=linspace(1,9,5)%建立首尾为1、9,共有5个元素的等差序列向量(1,3,5,7,9)2023/3/7中山大学计算机科学系10.3.3MATLAB基本数值运算六、基本向量运算MATLAB直接支持向量与数之间的+、-、*、/和向量与向量之间的+、-、点积、叉积、混合积等运算。如:>>a=[357]%定义第1个向量a>>b=[-129]%定义第1个向量b>>2*a-3*b%向量数乘与向量减>>dot(a,b)%向量点积>>cross(a,b)%向量叉乘>>c=[1,2,3]%定义第3个向量c>>dot(a,cross(b,c))%混合积通过函数dot、cross实现2023/3/7中山大学计算机科学系10.3.3MATLAB基本数值运算七、基本矩阵运算创建特殊矩阵,如:>>zeros(2,3)%生成2×3全0矩阵>>eye(3)%生成3×3单位矩阵>>ones(2,3)%生成2×3全1矩阵>>rand(3,4)%生成3×4随机矩阵,其元素在(0,1)内>>magic(3)%生成3阶魔方矩阵(注:每行、每列、及两条对角线上的和都相等)2023/3/7中山大学计算机科学系10.3.3MATLAB基本数值运算七、基本矩阵运算MATLAB直接支持矩阵转置和矩阵与数、矩阵与矩阵之间的+、-、*、/运算。如:>>A=[164;-428]>>B=[-201;2-34]>>2*A-3*B%矩阵数乘与矩阵减>>(A+B)‘%两个矩阵和的转置。>>[123;-212]*[120;011;30-1]%两个矩阵相乘2023/3/7中山大学计算机科学系10.3.3MATLAB基本数值运算七、基本矩阵运算支持两种矩阵除法左除(\):X=A\B是方程A*X=B的解,右除(/):
X=B/A是方程X*A=B的解。如:>>[123;426;749]\[4;1;2]2023/3/7中山大学计算机科学系10.3.3MATLAB基本数值运算七、基本矩阵运算MATLAB直接支持矩阵的求行列式、求逆、求乘方(^)、求秩、求特征值等。如:>>A=[101;210;-32-5]>>det(A)%求行列式>>inv(A)%求逆矩阵>>A^-1%求逆矩阵>>A^3%矩阵乘方>>A^-3%矩阵乘方>>rank(A)%求矩阵的秩>>trace(A)%求矩阵的迹(即对角线元素之和)>>eig(A)%求矩阵的特征值2023/3/7中山大学计算机科学系10.3.3MATLAB基本数值运算八、基本数组运算对矩阵的数组运算是指对一个矩阵中的每个元素或两个矩阵的对应元素分别进行运算。有+、-,和乘(.*)、右除(./)、左除(.\)、乘方运算(.^),以及指数函数(exp)、对数函数(log)和开方函数(sqrt)等。如:>>A=[164;-428]>>B=[-201;2-34]>>A.*B%对矩阵A和B的每个元素分别进行乘运算>>A./B>>A.\B>>A.^3>>A.^-3>>sqrt(A)2023/3/7中山大学计算机科学系10.3.4编写MATLAB程序一、M文件M文件是指包含MATLAB程序的纯文本文件,文件扩展名为m。M文件分为两种:M脚本文件:用于组合一系列命令和语句
M函数文件:用于定义函数例10.28计算两个多项式5x3-21x+3和2x+7的乘积。步1:编写程序步2:存盘步3:执行(
addpath
e:\MyWork)2023/3/7中山大学计算机科学系10.3.4编写MATLAB程序二、选择结构程序包括if语句和switch语句例10.29分别输入两个数给变量x、y,然后求出这两个变量中的最大值。例10.30常识问答,请选择“中国的首都在哪个城市?1.香港2.广州3.北京4.上海”。2023/3/7中山大学计算机科学系10.3.4编写MATLAB程序三、循环结构程序包括for语句和while语句例10.31求1~100内所有素数之和。for实现(S1031.m)while实现(S1031while.m)2023/3/7中山大学计算机科学系10.3.4编写MATLAB程序四、定义M函数M函数文件具有如下基本结构:function输出形参表=函数名(输入形参表)%注释说明部分函数体其中,以function开头的一行为引导行,表示该M文件是一个函数文件;当输出形参有多个时,则用方括号[]括起来;第一行注释行是可以由命令lookfor
搜索的文本行。2023/3/7中山大学计算机科学系10.3.4编写MATLAB程序四、定义M函数例10.32定义一个求圆面积的M函数。程序如下:functionarea=S1032(r)%求圆面积area=pi*r^2;%确定函数返回值注意以下两点:在函数体中,为输出形参赋值可以控制函数的返回值。M函数文件名应当与函数名一致,从而保持函数调用的一致性。例如,若要计算半径为3的圆面积,则输入:>>S1032(3)ans=28.27432023/3/7中山大学计算机科学系10.3.4编写MATLAB程序四、定义M函数例10.33定义求圆柱体体积的M函数,程序如下:functionv=S1033(r,h)%(主函数)求圆柱体体积(圆半径为r,高为h)area=circleArea(r);%调用子函数circleAreav=area*h;functionarea=circleArea(r)%(子函数)求圆面积area=pi*r^2;2023/3/7中山大学计算机科学系10.3.4编写MATLAB程序四、定义M函数在一个M函数文件中,可以定义多个函数,但只有第1个函数(称为主函数)可被外部调用,而:其他函数(称为子函数)只能在该文件中被调用。如调用形式>>S1033(3,4)全局变量和局部变量局部变量:按赋值方式定义的变量,存贮于特定工作空间,即MATLAB工作空间和函数工作空间全局变量:使用global关键字声明的变量,存贮于MATLAB全局工作空间2023/3/7中山大学计算机科学系10.3.5绘图一、绘制二维图形例10.34在同一个直角坐标图中,绘制正弦函数sin(x)和余弦函数cos(x)在[0,4π]区间的曲线图。x=0:pi/80:4*pi;plot(x,sin(x));%绘制sin曲线holdon%保持原图形plot(x,cos(x),‘:’);%参数‘:’指定数据间连线为点线legend('sin(x)','cos(x)',0);%自动放置图例注释title('sin
与cos
曲线');%设置图形标题xlabel('X
轴');%置X轴标签ylabel('Y
轴');%置Y轴标签gridon;%显示网格2023/3/7中山大学计算机科学系10.3.5绘图一、绘制二维图形绘制结果显示在“绘图”窗口中2023/3/7中山大学计算机科学系10.3.5绘图二、绘制三维图形例10.35绘制参数方程x=sin(u),y=cos(u),z=u在u=[0,10π]区间的三维曲线。u=0:pi/50:10*pi;x=sin(u);y=cos(u);z=u;plot3(x,y,z);2023/3/7中山大学计算机科学系10.3.5绘图二、绘制三维图形例10.36绘制二元函数Z(x,y)=x2+y2的三维网状图。x=linspace(-2,2,40);y=linspace(-2,2,40);[X,Y]=meshgrid(x,y);%生成两个40×40矩阵X,Y。Z=X.^2+Y.^2;%生成40×40矩阵Z,mesh(X,Y,Z);%由矩阵X、Y、Z确定每个点2023/3/7中山大学计算机科学系10.3.6符号计算一、符号对象与符号变量符号对象:表示某个数学表达式符号变量:存贮符号对象的变量定义方法:>>f=sym('x^2+1')>>symsxyz2023/3/7中山大学计算机科学系10.3.6符号计算二、符号表达式符号表达式是指含有符号对象的表达式。数值计算与符号计算区别>>1/2+1/3%数值计算>>sym(‘x’)+1/2+1/3%符号计算,无误差运算使用vpa
函数控制符号表达式的计算精度,如:>>vpa(sym('x')+pi,3)>>vpa(sym('x')+pi,40)使用subs函数求值符号表达式。如:>>f=sym('x^2+1');>>subs(f,x,3)%将x替换为3,并计算2023/3/7中山大学计算机科学系10.3.6符号计算三、符号代数运算包括化简、展开、因式分解、合并同类项等运算例10.37试一试符号代数运算功能>>symsrsxya;>>simplify(((r+s)/s+s/(r-s))/(s/(r-s)))%化简>>expand((x+y)^2)%展开>>expand(sin(2*x))%展开>>factor(x^2-7*x+12)%因式分解>>factor(80)%因式分解>>p=x^2-a*y^2*x^2+3*y^2*x+x-x*y;>>collect(p,x)%按x合并同类项>>collect(p,y)%按y合并同类项2023/3/7中山大学计算机科学系10.3.6符号计算四、符号微积分运算包括求极限、求导、求积分、求级数和等运算。例10.38试一试符号微积分运算>>symsn;>>limit((1+2/n)^n,n,Inf)%当n→∞时(1+2/n)^n极限>>symsx;>>limit(sin(x)^tan(x),x,pi/2)%当x→π/2时函数极限>>limit(abs(x)/x,x,0,‘right’)%当x→0+时函数右极限>>limit(abs(x)/x,x,0,‘left’)%当x→0-时函数左极限>>diff(sin(x),x)%以x自变量,求函数sin(x)的1阶导数>>diff(cos(x)^2*log(x),x)%以x为自变量,求1阶导数>>diff(x^5,x,2)%以x为自变量,求2阶导数2023/3/7中山大学计算机科学系10.3.6符号计算四、符号微积分运算>>int(exp(-2*x)*sin(3*x),x)%求不定积分>>int(x+sin(x),x,0,pi/2)%求函数在[0,π/2]区间的定积分,>>int(1/(exp(x+1)-2),x,0,Inf)%求[0,∞)区间的定积分>>symsum(x/n^2,n,1,10)%求级数x/n^2从第1项至第10项的级数和>>symsum(x/n^2,n,1,Inf)%求无穷级
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年新版特种设备安全管理人员考试题库附答案
- 2026湖北武汉市华中农业大学园艺林学学院劳动聘用制科研助理招聘1人笔试模拟试题及答案详解
- 2026年聊城市妇幼保健院急需紧缺人才引进(4人)笔试模拟试题及答案详解
- 2026中国民航大学博士后招收参考题库附答案详解(研优卷)
- 2026年酒泉市肃州区事业编单位人员招聘考试模拟试题及答案详解
- 2026年山东单县第二中学引进高层次人才42人笔试备考题库及答案详解
- 临川十中2026年教师招聘笔试参考题库及答案详解
- 2026年上海市青浦区教育系统公开招聘未来教师笔试备考试题及答案详解
- 2026年陕西省延安市网格员招聘笔试备考试题及答案详解
- 2026重庆武隆区教育事业单位定向考核招聘31人笔试参考题库及答案详解
- 教师形体与礼仪智慧树知到期末考试答案章节答案2024年成都师范学院
- 公共部门经济学公共物品和公共资源
- 课堂观察走向专业的听评课崔允漷课件
- 诸暨市城北片控制性详细规划
- 电路检查记录表
- 疑难病例讨论课件
- 山西焦煤集团正仁煤业有限公司矿产资源开发利用、地质环境保护与土地复垦方案
- 病理生理学重点知识点整理总结归纳
- GA 1802.3-2022生物安全领域反恐怖防范要求第3部分:高生物安全风险疫苗生产单位
- 奇瑞汽车tpcams操作手册-工程中心人员
- GB/T 27902-2011电气火灾模拟试验技术规程
评论
0/150
提交评论