用matlab解决插值问题.pptx
《用matlab解决插值问题.pptx》由会员分享,可在线阅读,更多相关《用matlab解决插值问题.pptx(87页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 MATLAB是一种交互式的以矩阵为基础的系统计算平台,它用于科学和工程的计算与可视化。Matlab的含义是矩阵实验室(Matrix Laboratory),是美国Math Work公司于1982年推出的一套高性能的数值计算和可视化软件,它集数值分析、矩阵计算、信号处理和图形显示于一体,已发展成为国际上最优秀的科技应用软件之一。Matlab软件简介 矩阵是MATLAB的核心.第1页/共87页目目 录录实验一:矩阵运算与Matlab命令;实验二:函数可视化与Matlab作图;实验三:插值和拟和;实验四:微分、积分和常微分方程;实验五:最优化方法;如何撰写数学建模论文.第2页/共87页实 验 一
2、矩阵运算与Matlab命令第3页/共87页Matlab基本指令向量的创建和运算第4页/共87页1.直接输入向量x1=1 2 4,x2=1,2,1,x3=x12.冒号创建向量 x1=3.4:6.7,x2=3.4:2:6.7,x3=2.6:-0.8:0第5页/共87页 3.生成线性等分向量指令x=linspace(a,b,n)在a,b区间产生 n 个等分点(包括端点)例如:x=linspace(0,1,5)结果 x=0 0.2500 0.5000 0.7500 1.0000第6页/共87页工作空间工作空间在Matlab窗口创建向量后并运行后,向量就存在于工作空间(Workspace),可以被调用。
3、第7页/共87页 向量的运算向量的运算 设三维向量x=x1 x2 x3;y=y1 y2 y3;,a,b为标量。向量的数乘:a*x=a*x1 a*x2 a*x3向量的平移:x+b=x1+b x2+b x3+b向量和:x+y=x1+y1 x2+y2 x3+y3向量差:x-y=x1-y1 x2-y2 x3-y3 第8页/共87页向量对应元素的运算向量对应元素的运算x.*y=x1*y1 x2*y2 x3*y3 (乘积)x./y=x1/y1 x2/y2 x3/y3 (右除,右边的y做分母)x.y=y1/x1 y2/x2 y3/x3 (左除,左边的x做分母)x.5=x15 x25 x35 (乘幂)2.x=
4、2x1 2x2 2x3x.y=x1y1 x2y2 x3y3第9页/共87页函数计算函数计算Matlab有许多内部函数,可直接作用于向量产生一个同维的函数向量。如:x=linspace(0,4*pi,100);(产生100维向量x)y=sin(x);(y也自动为100维向量)y1=sin(x).2;y2=exp(-x).*sin(x);观察结果第10页/共87页创建矩阵(数值矩阵的创建)创建矩阵(数值矩阵的创建)直接输入法创建简单矩阵。A=1 2 3 4;5 6 7 8;9 10 11 12 B=-1.3,sqrt(3);(1+2)*4/5,sin(5);exp(2),6 观察运行结果 A=1
5、2 3 4 5 6 7 8 9 10 11 12 B=-1.3000 1.7321 2.4000 -0.9589 7.3891 6.0000第11页/共87页矩阵的运算(矩阵的加减、数乘、乘积等)A,A_trans=AH=1 2 3;2 1 0;1 2 3,K=1 2 3;2 1 0;2 3 1h_det=det(H),k_det=det(K),H_inv=inv(H),K_inv=K-1第12页/共87页矩阵的运算(左除和右除)左除“”:求矩阵方程AX=B的解;(A、B的行要保持一致)解为 X=AB;当A为方阵且可逆时有X=AB=inv(A)*B;右除“/”:求矩阵方程XA=B的解 (A、B
6、的列要保持一致)解为 X=B/A,当A为方阵且可逆时有X=B/A=B*inv(A)第13页/共87页矩阵的运算(左除和右除)例1:求矩阵方程:设A、B满足关系式:AB2B+A,求B。其中A=3 0 1;1 1 0;0 1 4。解:有(A-2I)BA 程序:A=3 0 1;1 1 0;0 1 4;B=inv(A-2*eye(3)*A,B=(A-2*eye(3)A 观察结果:第14页/共87页分块矩阵分块矩阵(矩阵的标识)例2 取出A的1、3行和1、3列的交叉处元素构成新矩阵A1。解:程序A=1 0 1 1 2;0 1-1 2 3;3 0 5 1 0;2 3 1 2 1,vr=1,3;vc=1,3
7、;A1=A(vr,vc)观察结果第15页/共87页分块矩阵分块矩阵(矩阵的标识)例3 将A分为四块,并把它们赋值到矩阵B中,观察运行后的结果。解:程序A11=A(1:2,1:2),A12=A(1:2,3:5),A21=A(3:4,1:2),A22=A(3:4,3:5)B=A11 A12;A21 A22 运行结果第16页/共87页分块矩阵分块矩阵(矩阵的修改和提取)例4(1)修改矩阵A,将它的第1行变为0。解:程序:A=1 0 1 1 2;0 1-1 2 3;3 0 5 1 0;2 3 1 2 1 A(1,:)=0 0 0 0 0;A (2)删除上面矩阵A的第1、3行。程序:A(1,3,:)=第
8、17页/共87页生成特殊矩阵生成特殊矩阵 全1阵 ones(n),ones(m,n),ones(size(A)全零阵:zeros(n),zeros(m,n),zeros(size(A)常常用于对某个矩阵或向量赋0初值单位阵:eye(n),eye(m,n)随机阵:rand(m,n),rand(n)=rand(n,n)用于随机模拟,常和rand(seed,k)配合使用。第18页/共87页常用矩阵函数常用矩阵函数det(A):方阵的行列式;rank(A):矩阵的秩;eig(A):方阵的特征值和特征向量;trace(A):矩阵的迹;rref(A):初等变换阶梯化矩阵Asvd(A):矩阵奇异值分解。第1
9、9页/共87页分块矩阵分块矩阵(矩阵的标识)1.矩阵元素的标识:A(i,j)表示矩阵A 的第 i 行 j 列的元素;2.向量标识方式 A(vr,vc):vr=i1,i2,ik、vc=j1,j2,ju分别是含有矩阵A的行号和列号的单调向量。A(vr,vc)是取出矩阵A的第i1,i2,ik行与j1,j2,ju列交叉处的元素所构成新矩阵。第20页/共87页数据的简单分析数据的简单分析1.当数据为行向量或列向量时,函数对整个向量进行计算.2.当数据为矩阵时,命令对列进行计算,即把每一列数据当成同一变量的不同观察值。常用的命令:max(求最大)、min(求最小)、mean(求平均值)、sum(求和)、s
10、td(求标准差)、cumsum(求累积和)、median(求中值)、diff(差分)、sort(升序排列)、sortrows(行升序排列)等等。第21页/共87页数据的简单分析数据的简单分析例5 观察:生成一个36的随机数矩阵,并将其各列排序、求各列的最大值与各列元素之和。解:程序sort(使每一列从小到大排序)A=rand(3,6),Asort=sort(A),Amax=max(A),Asum=sum(A)观察结果第22页/共87页实 验 二函数可视化与Matlab作图第23页/共87页绘制平面曲线绘制平面曲线(plot(plot指令指令)plot(x,y):以x为横坐标、y为纵坐标绘制二维
11、图形x,y是同维数的向量;plot(y):相当于x=1,2,length(y)时情形。第24页/共87页函数的可视化函数的可视化问:问:f(x),g(x)是周期函数吗?观察它们的图象。是周期函数吗?观察它们的图象。解:程序解:程序clf,x=linspace(0,8*pi,100);y1=sin(x+cos(x+sin(x);y2=0.2*x+sin(x+cos(x+sin(x);plot(x,y1,k:,x,y2,k-)legend(sin(x+cos(x+sin(x),0.2x+sin(x+cos(x+sin(x),2)例例1 令令第25页/共87页绘制平面曲线绘制平面曲线(绘制多个图形)
12、1.plot(x,y1;y2;),x是横坐标向量,y1;y2;是由若干函数的纵坐标拼成的矩阵;2.plot(x1,y1),hold on,plot(x2,y2),hold off3.plot(x1,y1,x2,y2,)4.plotyy两个坐标系,用于绘制不同尺度的函数。第26页/共87页绘制平面曲线绘制平面曲线(线型、点形和颜色的控制)(线型、点形和颜色的控制)plot(x,y,颜色线型点形)plot(x,y,颜色线型点形,x,y,颜色线型点形,)句柄图形和set命令改变属性值,可套用:h=plot(x,y),set(h,属性,属性值,属性,属性值,)或plot(x,y,属性,属性值)设置图形
13、对象的属性。第27页/共87页绘制平面曲线绘制平面曲线(属性变量和属性值)(属性变量和属性值)n线宽:线宽:LineWidthn点的大小:点的大小:MarkerSizen线型:线型:LineStylen颜色:颜色:Color第28页/共87页绘制平面曲线绘制平面曲线(例)(例)程序h=plot(0:0.1:2*pi,sin(0:0.1:2*pi);set(h,LineWidth,5,color,red);grid on观察结果第29页/共87页绘制平面曲线绘制平面曲线(坐标轴的控制)(坐标轴的控制)grid on 指令为图形窗口加上网格线axis指令 axis(xmin xmax ymin y
14、max):设定二维图形的x和y坐标的范围;axis(xmin xmax ymin ymax zmin zmax):设定三维图形的坐标范围;其中xminxxmax,yminyymax,zminzzmax。第30页/共87页绘制平面曲线绘制平面曲线(文字标注)(文字标注)title(图形标题);xlabel(x轴名称);ylabel(y轴名称);zlabel(z轴名称);text(说明文字):创建说明文字;gtext(说明文字):用鼠标在特定位置输入文字。文字标注常用符号:pi();alpha();beta();leftarrow(左箭头)rightarrow(右箭头);bullet(点号)第31
15、页/共87页图形窗口的创建和分割图形窗口的创建和分割 subplot(m,n,k)命令 在图形区域中显示多个图形窗口,m为上下分割数,n为左右分割数,k为第k子图编号。例:将一个图形分为4个子图,在第k个子图画sin(kx)的图象.程序:clf,b=2*pi;x=linspace(0,b,50);for k=1:4 y=sin(k*x);subplot(2,2,k),plot(x,y),axis(0,2*pi,-1,1)end第32页/共87页若干有用的指令若干有用的指令clf:清除图形窗口已有的内容.shg:显示图形窗口。clear、clear x:清除工作空间的已有变量。figure(n)
16、:打开第n个图形窗口 help:续行号第33页/共87页绘制二元函数绘制二元函数z=f(x,y)z=f(x,y)基本步骤:1.生成二维网格点 2.计算函数在网格点上的值 3.绘制函数图形第34页/共87页1.1.meshgrid指令:生成网格点观察meshgrid指令的效果。程序:a=-3;b=3;c=-3;d=3;n=10;x=linspace(a,b,n);y=linspace(c,d,n);X,Y=meshgrid(x,y);plot(X,Y,+)观察结果第35页/共87页2.2.计算函数值 如,z=peaks(X,Y);3.绘图指令mesh(X,Y,z):n在三维空间中绘出由(X,Y,
17、z)表示的曲面;meshz(X,Y,z):n除了具有mesh的功能外,还画出上下高度线,meshc(X,Y,z):n除了具有mesh的功能外,还在曲面的下方画出函数z=f(x,y)的等值线图,surf(X,Y,z):n也是三维绘图指令,与mesh的区别在于mesh绘出彩色的线,surf绘出彩色的面,第36页/共87页三维绘图三维绘图(等值线指令)contour(X,Y,z,n):n条等高线,n可缺省;contourf(X,Y,z,n):等值线间用不同的颜色填满,有更好的视觉效果;contour3(X,Y,z,n):在三维空间画出等值线图;画单个等高线时 contour(cx,cy,cz,I I
18、);colorbar:将颜色与函数值对应起来显示在图中。第37页/共87页空间曲线和运动方向的表现空间曲线和运动方向的表现一条空间曲线可以用矢量函数表示为n它的速度矢量表现为曲线的切矢量:第38页/共87页绘制空间曲线(指令)绘制空间曲线(指令)plot3(x,y,z):绘制三维空间曲线,用法和plot类似。quiver(X,Y,u,v):绘制二维矢量,在坐标矩阵点X,Y处绘制矢量u,v,其中u为矢量的x坐标,v为矢量的y 坐标,其维数不小于2。quiver3(X,Y,Z,u,v,w):绘制三维矢量,用法与quiver类似。gradient:Fx,Fy,Fz=gradient(F)为函数F数值
19、梯度第39页/共87页空间曲线和运动方向的表现空间曲线和运动方向的表现n很显然飞行曲线方程为:程序:t=linspace(0,1.5,20);x=t.2;y=(2/3)*t.3;z=(6/4)*t.4-(1/3)*t.3;plot3(x,y,z,r.-,linewidth,1,markersize,10),hold on Vx=gradient(x);Vy=gradient(y);Vz=gradient(z);h=quiver3(x,y,z,Vx,Vy,Vz);set(h,linewidth,1),grid on axis(0 1.5 0 1.5 0 40)xlabel(x),ylabel(y
20、),zlabel(z),box on,hold off第40页/共87页 插值和拟和插值和拟和插值和拟和插值和拟和 实实 验验 三三第41页/共87页机床加工问题机床加工问题用程控铣床加工机翼断面的下轮廓线时用程控铣床加工机翼断面的下轮廓线时每一刀只能沿每一刀只能沿x方向和方向和y方向走非常小的一步。方向走非常小的一步。表表3-1给出了下轮廓线上的部分数据给出了下轮廓线上的部分数据但工艺要求铣床沿但工艺要求铣床沿x方向每次只能移动方向每次只能移动0.1单位单位.这时需求出当这时需求出当x坐标每改变坐标每改变0.1单位时的单位时的y坐标。坐标。试完成加工所需的数据,画出曲线试完成加工所需的数据,
21、画出曲线.第42页/共87页插值插值插值插值已知有已知有n+1个节点(个节点(xj,yj),),j=0,1,n,其中,其中xj互不相同,节点互不相同,节点(xj,yj)可看成由某个函数可看成由某个函数 y=f(x)产生;)产生;构造一个相对简单的函数构造一个相对简单的函数 y=P(x);使使P通过全部节点,通过全部节点,即即 P(xk)=yk,k=0,1,n;用用P(x)作为作为 函数函数f(x)的的 近似。近似。第43页/共87页yi=interp1(x,y,xi,method)插值方法插值方法被插值点被插值点插值节点插值节点xixi处的插处的插值结果值结果nearest :最邻近插值:最邻
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab 解决 问题
限制150内