Matlab入门教程.ppt

上传人:xt****7 文档编号:1859671 上传时间:2019-11-09 格式:PPT 页数:71 大小:3.36MB
返回 下载 相关 举报
Matlab入门教程.ppt_第1页
第1页 / 共71页
Matlab入门教程.ppt_第2页
第2页 / 共71页
Matlab入门教程.ppt_第3页
第3页 / 共71页
点击查看更多>>
资源描述
MATLAB 入门教程,Matlab简介 数组和矩阵 Matlab绘图 Matlab在微积分中的应用,主要内容,MATLAB简介,三个代表性的计算机数学语言: MATLAB是MATrix LABoratory 的缩写,由MathWorks公司推出。长于数值计算,编程方便。在各个领域都有领域专家编写的工具箱,能高效、可靠地解决各种问题。 Mathematica,Wolfram Research公司 Maple,Waterloo Maple公司 有强大的解析运算和数学公式推导、定理证明能力,数值计算能力比Matlab弱,更适合纯数学求解。,MATLAB的功能,MATLAB产品组是从支持概念设计、算法开发、建模仿真, 到实时实现的集成环境,可用来进行: 数据分析 数值与符号计算 工程与科学绘图 控制系统设计 数字图像信号处理 建模、仿真、原型开发 财务工程、应用开发、图形用户界面设计,功能强大,MATLAB语言特点,编程效率高,允许用数学的语言来编写程序 用户使用方便,把程序的编辑、编译、连接和执行融为一体 高效方便的矩阵和数组运算 语句简单,内涵丰富 扩充能力强,交互性,开放性 方便的绘图功能 该软件由c语言编写,移植性好,语言简洁,MATLAB操作窗口,接受命令的窗口,MATLAB的环境,菜单项; 工具栏; 【Command Window】命令窗口; 【Launch Pad】分类帮助窗口; 【Workspace】工作区窗口; 【Command History】指令历史记录窗口; 【Current Directory】当前目录选择窗口;,Matlab简介 数组和矩阵 Matlab绘图 Matlab在微积分中的应用,主要内容,数组和矩阵,1.变量 Matlab不需要任何类型声明和维数说明,变量名的第一个字符必须是字母。 a=1; num_students=25; 2.常用的常数 pi:3.14159265 i,j:虚数单位; 1i; 3-4j; 3e5i Inf 无限值; NaN 空值 e 以10为底的幂次。1.602e-20, 6.532e12,数组和矩阵,3.运算符 +,- ,*,/, 左除: 23 = 1.5000 幂: x=2; x3; x(-3) 复数共轭转置 x=3+4i x=3-4i .点运算 (1)当x是一个向量时,求 不能写成x2,而必须写成 x.2 (2)两矩阵之间的点乘运算C=A.*B,数组和矩阵,.常用函数 sqrt(x) 开平方 abs(x) 绝对值 abs(3-4i) exp(x) ex; log(x) 以e为底,x的对数 log(exp(2) round(x)取整 syms x; 定义x为符号变量 .帮助函数 help: help elfun; help specfun; help elmat,数组和矩阵,6.构造数组 (1)直接构造,用空格或逗号间隔数组元素 A = 2 3 5 1 或 A = sqrt(2),3e2,log(5),1+2i (2)用增量法构造数组 (first:last) 或 (first:step:last) A = 10:15 A = 3:0.2:4 A = 9:-1:0 (3)用linspace函数构造数组 x = linspace(first,last,num) x = linspace(0,10,5),数组和矩阵,7.构造矩阵 (1)简单创建方法 row = e1,e2,em; A = row1;row2;rown A = 2 4 1;4 5 2;7 2 1 (2)构造特殊矩阵 ones 创建一个所有元素都为的元素 zeros 创建一个所有元素都为0的元素,数组和矩阵,eye 创建对角元素为,其他元素为的元素 rand 创建一个矩阵或数组,其中的元素服从均匀分布 rand(5)*20; randn创建一个矩阵或数组,其中的元素服从正态分布 diag 创建对角矩阵 C = 3 2 1; V=diag(C); (3)聚合矩阵 水平聚合 C = A B 垂直聚合 C = A;B,数组和矩阵,8.获取矩阵元素 A=2,3,3;4 9 4;6,3,0 取单个元素: 取多个元素: 获取所有元素: 9.获取与矩阵有关信息 length 返回最长维长度 ndims 返回维数 numel 返回元素个数 size 返回每一维的长度 rows cols = size(A),A(3,1),A(:,2) A(3,:),A(:),数组和矩阵,9.矩阵的基本运算,例 已知, a=4 -2 2;-3 0 5;1 5 3; b=1 3 4;-2 0 -3;2 -1 1; a*b,12 10 24 7 -14 -7 -3 0 -8,ans =,=AB, rank(a) ans = 3,数组和矩阵,9.矩阵的基本运算,例 已知, det(a) ans = -158,数组和矩阵,9.矩阵的基本运算,例 已知,求特征多项式 poly(A) A=sym(A); 将A转换成符号矩阵 poly(A),数组和矩阵,9.矩阵的基本运算,例 已知,A/B相当于矩阵方程XB=A ans = 0 0 2.0000 -2.7143 -8.0000 -8.1429 2.4286 3.0000 2.2857,数组和矩阵,9.矩阵的基本运算,例 已知, AB ans = 0.4873 0.4114 1.0000 0.3671 -0.4304 0 -0.1076 0.2468 0,数组和矩阵,9.矩阵的基本运算,例 已知,10.多项式求根,例 已知,p = 1 0 -2 -5; roots(p) ans = 2.0946 -1.0473 + 1.1359i -1.0473 - 1.1359i,数组和矩阵,主要内容,Matlab简介 数组和矩阵 Matlab绘图 Matlab在微积分中的应用,Matlab绘图,1.二维图形绘制 plot(t,y) 例1 用Matlab画出 的图形。 x=-5:0.05:5; y=x.2; plot(x,y) plot(x,y,b+) 例2 绘制y=sin(tan(x)-tan(sin(x)在 区间内的曲线。 x=-pi:0.05:pi;y=sin(tan(x)-tan(sin(x); plot(x,y),Matlab绘图,将多条曲线画在一个图上: plot(t1,y1,选项1,t2,y2,选项2,) plot(x,x.2,rO,x,x.3,b.) 2.三维图形绘制 plot3(x,y,z) plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,) 例 试绘制参数方程 , , 的三维曲线。 t=0:.1:2*pi; 注意点运算 x=t.3.*sin(3*t).*exp(-t);y=t.3.*cos(3*t).*exp(-t); z=t.2; plot3(x,y,z),grid,习 题,15.利用Mathematica作出数列,的点图,,观察当,时,,的变化趋势。并利用数值计算的命令计算当,取很大的整数时,,的取值。,n=1:10000; xn=(1+1./n).(n+1); plot(n,xn,.),习 题,16.函数,在,内是否有界?又问当,时,,这个函数是否为无穷大?为什么?用,Mathematica作图并验证你的结论。, x = -100:100; plot(x,x.*cos(x),习 题,P168 20.利用Mathematica作出函数,的图形,分别取-1,0,1,2,3等5个值,试比较作出的5个 图,并从图上观察极值点、驻点,增加、减少区间,上凸、 下凸区间以及渐近线。,x=-5:0.1:4 plot(x,1./(x.2+2*x-1) plot(x,1./(x.2+2*x) plot(x,1./(x.2+2*x+1) plot(x,1./(x.2+2*x+2) plot(x,1./(x.2+2*x+3),习 题,17(1)在计算机屏幕上作出函数,和,的图形,何时开始,(2)再作出函数,的图形。选用,适当的显示区域,展示,时,,的变化趋势。,(3)确定正数,,使当,时,,习 题, x=linspace(3.43063112146e15-1e6,3.43063112146e15 +1e6,100); plot(x,x.0.1,r+,x,log(x),b.) axis(3.43063112146e15-1e3 3.43063112146e15+1e3 35.77152063979 35.7715206398);,x=1:0.05:5 plot(x,x.0.1,r.,x,log(x),b+),axis(XMIN XMAX YMIN YMAX), x=linspace(1e29,1e29+1e16,1000); plot(x,log(x)./(x.0.1),r.) axis(1e29-1e20 1e29+1e20 0.08 0.12),Matlab简介 数组和矩阵 Matlab绘图 Matlab在微积分中的应用,主要内容,MATLAB在微积分中的应用,1、求函数值,例1 在命令窗口中键入表达式 并求 时的函数值。, x=2,y=4 z=x2+exp(x+y)-y*log(x)-3,x = 2 y = 4 z = 401.6562,命令窗口显示结果:,MATLAB在微积分中的应用,2、求极限,极限问题: 求单侧极限:,MATLAB在微积分中的应用,2、求极限,例2 求极限, syms x; limit(sin(x)/x,x,0),ans = 1,定义符号变量,MATLAB在微积分中的应用,2、求极限,例3 求极限, syms x; limit(exp(x3)-1)/(1-cos(sqrt(x-sin(x),x,0, right),ans = 12,定义符号变量,MATLAB在微积分中的应用,2、求极限,例4 求极限, syms n; limit(sqrt(n+sqrt(n)-sqrt(n),n,inf),ans = 1/2,定义符号变量,MATLAB在微积分中的应用,3、求导数,调用格式:,求导数,求n阶导数,多元函数的偏导数:,或,MATLAB在微积分中的应用,3、求导数, syms x diff(sin(x.3),x),ans = 3*cos(x3)*x2,定义X为符号变量,求,习题P168,(1),MATLAB在微积分中的应用,3、求导数, syms x diff(atan(log(x),x),(2),ans = 1/x/(1+log(x)2),MATLAB在微积分中的应用,3、求导数, syms x diff(1+1/x)x,x) ans = (1+1/x)x*(log(1+1/x)-1/x/(1+1/x),(3),MATLAB在微积分中的应用,3、求导数, syms x,(4),MATLAB在微积分中的应用,3、求导数, syms x y=10x+x10+log(x) y = x10+10x+log(x) diff(y),ans = 10*x9+10x*log(10)+1/x,定义X为符号变量,求, syms x; y=log(1+x); a=diff(y,x,2) a = -1/(1+x)2 x=1;eval(a) ans = -0.2500,求,求,将符号表达式 转换成数值表达式,例6 设,,求, syms x y; z=exp(2*x)*(x+y2+2*y); a=diff(z,x) b=diff(z,y) c=diff(z,x,2) d=diff(z,y,2) e=diff(a,y),a =2*exp(2*x)*(x+y2+2*y)+exp(2*x) b =exp(2*x)*(2*y+2) c =4*exp(2*x)*(x+y2+2*y)+4*exp(2*x) d =2*exp(2*x) e =2*exp(2*x)*(2*y+2),MATLAB在微积分中的应用,4、求极值和零点, fzero(3*x5-x4+2*x3+x2+3,0),ans = -0.8952,起始搜索点,函数,命令函数, x,f=fminbnd(3*x5-x4+2*x3+x2+3,-1,2) x = -1 f=-2,MATLAB在微积分中的应用,4、求极值和零点, X,FVAL= FMINSEARCH(x(1)2+2.5*sin(x(2)- x(3)*x(1)*x(2)2,1 -1 0),X = 0.0010 -1.5708 0.0008 FVAL =-2.5000,MATLAB在微积分中的应用,5、求积分,()不定积分,()定积分与无穷积分,(a,b)为定积分的积分区间,求解无穷积分时 允许将a,b设置成-Inf或Inf。,MATLAB在微积分中的应用,5、求积分,例8 求不定积分, int(cos(2*x)*cos(3*x),ans =1/2*sin(x)+1/10*sin(5*x),例9 求定积分,Integrate:积分,int(x2*log(x),x,1,exp(1) eval(ans) ans = 4.5746,MATLAB在微积分中的应用,5、求积分,例10 求二重积分, syms x y; f=y2/x2; int(int(f,x,1/2,2),y,1,2) ans =7/2,MATLAB在微积分中的应用,5、求积分,P251 18.(1),syms x int(sin(x)10,x) ans = -1/10*sin(x)9*cos(x)-9/80*sin(x)7*cos(x)-21/160*sin(x)5*cos(x)-21/128*sin(x)3*cos(x)-63/256*cos(x)*sin(x)+63/256*x,MATLAB在微积分中的应用,5、求积分,P251 18.(2), int(1/(x+1)2*(x-1)4)(1/3),x) ans = -3/2*(x+1)/(x+1)2*(x-1)(1/3),MATLAB在微积分中的应用,5、求积分,P251 18.(3), int(sin(x(1/6),x,0,1) ans = -606*cos(1)+390*sin(1),MATLAB在微积分中的应用,5、求积分,P251 18.(4), int(log(1+x)/(1+x2),x,0,1) ans = 1/4*pi*log(2)-Catalan-1/2*i*dilog(1/2-1/2*i)+1/2*i*dilog(1/2+1/2*i) vpa(ans), quadl(log(1+x)./(1+x.2),0,1) ans = 0.2722,变步长数值积分,例11 求定积分, int(exp(-x2/2),0,1) ans = 1/2*erf(1/2*2(1/2)*2(1/2)*pi(1/2), x=0:0.01:1; y=exp(-x.2/2); trapz(x,y) ans = 0.8556, y=exp(-x.2/2); quadl(y,0,1) ans = 0.8556,变步长数值积分,梯形法数值积分,MATLAB在微积分中的应用,5、求积分,例12, int(int(int(4*x*z*exp(-x2*y-z2),z,0,pi),y,0,pi),x,0,2) ans = (-Ei(1,4*pi)+Ei(1,4*pi)*exp(pi2)-2*log(2)+2*log(2) *exp(pi2)-eulergamma-log(pi)+eulergamma*exp(pi2) +log(pi)*exp(pi2)/exp(pi2) vpa(ans,60) ans = 3.10807940208541272283461464767138521019142306317021863483587,MATLAB在微积分中的应用,6、解微分方程,指明自变量,既可以描述微分方程,又可以描述初始条件或边界条件。,:D4y,:D2y(2)=3,MATLAB在微积分中的应用,6、解微分方程,例13 计算初值问题:, dsolve(Dy=x+y,y(0)=1,x),ans =-x-1+2*exp(x),一定要大写,MATLAB在微积分中的应用,6、解微分方程,例14 求方程, dsolve(Dy+2*y/x=sin(3*x)/(x2),x) ans = (-1/3*cos(3*x)+C1)/x2,的通解。,MATLAB在微积分中的应用,6、解微分方程,例15,设输入信号为,,求, syms t u=exp(-5*t)*cos(2*t+1)+5; uu=5*diff(u,t,2)+4*diff(u,t)+2*u uu = 87*exp(-5*t)*cos(2*t+1)+92*exp(-5*t)*sin(2*t+1)+10,MATLAB在微积分中的应用,6、解微分方程,例14,设输入信号为,,求, syms t y; y=dsolve(D4y+10*D3y+35*D2y+50*Dy+24*y=87*exp(-5*t)*cos(2*t+1)+92*exp(-5*t)*sin(2*t+1)+10) y = -547/520*exp(-5*t)*sin(2*t+1)-343/520*exp(-5*t)*cos(2*t+1)+5/12+C1*exp(-2*t)+C2*exp(-3*t)+C3*exp(-t)+C4*exp(-4*t),MATLAB在微积分中的应用,6、解微分方程,若已知,y=dsolve(D4y+10*D3y+35*D2y+50*Dy+24*y=,87*exp(-5*t)*cos(2*t+1)+92*exp(-5*t)*sin(2*t+1)+10,y(0)=3,Dy(0)=2,D2y(0)=0,D3y(0)=0) y = -547/520*exp(-5*t)*sin(2*t+1)-343/520*exp(-5*t)*cos(2*t+1)+5/12+(-51/13*sin(1)-445/26*cos(1)-69/2)*exp(-2*t)+(5/8*sin(1)+179/8*cos(1)+73/3)*exp(-3*t)+(97/60*sin(1)+133/30*cos(1)+19)*exp(-t)+(41/15*sin(1)-271/30*cos(1)-25/4)*exp(-4*t),MATLAB在微积分中的应用,6、解微分方程,例16, x,y=dsolve(D2x+2*Dx=x+2*y-exp(-t),Dy=4*x+3*y+4*exp(-t) x = -6*t*exp(-t)+C1*exp(-t)+C2*exp(1+6(1/2)*t)+C3*exp(-(-1+6(1/2)*t) y = 6*t*exp(-t)-C1*exp(-t)+4*C2*exp(1+6(1/2)*t)+2*C2*exp(1+6(1/2)*t)*6(1/2)+4*C3*exp(-(-1+6(1/2)*t)-2*C3*exp(-(-1+6(1/2)*t)*6(1/2)+1/2*exp(-t),曲面模型的建立,1.函数表示的曲面,(1) ezmesh(f),创建函数f(x,y)的图形,f是一个字符串,表示两个 变量的数学函数表达式。,例:用ezmesh函数绘制函数,的图形。, syms x y; ezmesh(y2-3*x*y-x2),曲面模型的建立,1.函数表示的曲面,(2) ezsurf(f),创建函数f(x,y)的图形,f是一个字符串,表示两个 变量的数学函数表达式。,例:用ezsurf函数绘制函数, syms x y; ezsurf(y2-3*x*y-x2),练习:,曲面模型的建立,2.二次曲面,X,Y,Z=cylinder 返回半径为1的柱面的x,y,z的坐标,X,Y,Z=cylinder(r,n),cylinder;,t=-pi:pi/10:pi; cylinder(2+sin(t) cylinder(t) 或 cylinder(t.2),(1) 柱面,X,Y,Z=cylinder(r)返回用r定义周长曲线的柱面的三维坐标。 cylinder将r中每个元素作为半径。,曲面模型的建立,2.二次曲面,(2) 球面,sphere axis equal,曲面模型的建立,3.用给定数据绘图,(1) 网格图,mesh(Z) Z为高度,颜色与高度成比例。 mesh(X,Y,Z)绘网格,Z确定颜色 meshc(X,Y,Z)在网格下方画一个等值线图。 meshz(X,Y,Z)在网格下方画一个窗帘图。,X,Y = meshgrid(-2:.2:2, -2:.2:2); Z = X .* exp(-X.2 - Y.2); mesh(Z) 或 meshc(X,Y,Z) meshz(X,Y,Z),曲面模型的建立,3.用给定数据绘图,(2) 三维刻面图,surf(Z) 高度Z为单值函数,指定颜色数据和刻面高度,X,Y = meshgrid(-2:.2:2, -2:.2:2); Z = X .* exp(-X.2 - Y.2); surf(Z),曲面模型的建立,3.用给定数据绘图,(3) 三维曲面图,surfl(z) surfl(X,Y,Z) surfl(,light),X,Y = meshgrid(-2:.2:2, -2:.2:2); Z = X .* exp(-X.2 - Y.2); surfl(Z); shading interp; 添加阴影 colormap(colorcube); 颜色渐变,再见,
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!