ch2、matlab语言基础(编辑修改稿)内容摘要:

+ 表示为: p=[1 12 0 25 116],使用函数 roots可以求出多项式等于 0的根,根用列向量表示。 若已知多项式等于 0的根,函数 poly可以求出相应多项式。 ( 2)多项式的运算 •相乘 conv a=[1 2 3]。 b=[1 2] c=conv(a,b)=1 4 7 6 conv指令可以嵌套使用,如 conv(conv(a,b),c) •相除 deconv [q,r]=deconv(c,b) q=1 2 3 %商多项式 r=0 0 0 %余多项式 •求多项式的微分多项式 polyder polyder(a)=2 2 •求多项式函数值 polyval(p,n):将值 n代入多项式求解。 polyval(a,2)=11 ( 3) *多项式的拟合 • 多项式拟合又称为曲线拟合,其目的就是在众多的样本点中进行拟合,找出满足样本点分布的多项式。 这在分析实验数据,将实验数据做解析描述时非常有用。 • 命令格式: p=polyfit(x,y,n),其中 x和 y为样本点向量, n为所求多项式的阶数, p为求出的多项式。 • 例 ( 4) *多项式插值 • 多项式插值是指根据给定的有限个样本点,产生另外的估计点以达到数据更为平滑的效果。 该技巧在信号处理与图像处理上应用广泛。 • 所用指令有一维的 interp二维的 interp三维的interp3。 这些指令分别有不同的方法( method),设计者可以根据需要选择适当的方法,以满足系统属性的要求。 Help polyfun可以得到更详细的内容。 y=interp1(xs,ys,x,’method’) • 在有限样本点向量 xs与 ys中,插值产生向量 x和 y,所用方法定义在 method中,有 4种选择: • nearest:执行速度最快,输出结果为直角转折 • linear:默认值,在样本点上斜率变化很大 • spline:最花时间,但输出结果也最平滑 • cubic:最占内存,输出结果与 spline差不多 例 五 *、 MATLAB数据处理 矩阵分解 ( 1)奇异值分解 [U,S,V]=svd(A) 例: a = 9 8 6 8 可以验证: u*u’=I v*v’=I u*s*v’=a 求矩阵 A的奇异值及分解矩阵,满足U*S*V’=A,其中 U、 V矩阵为正交矩阵( U*U’=I), S矩阵为对角矩阵,它的对角元素即 A矩阵的奇异值。 [u,s,v]=svd(a) u = s = 0 0 v = ( 2)特征值分解 [V,D]=eig(A) 例: a = 9 8 6 8 [v,d]=eig(a) v = d = 0 0 求矩阵 A的特征向量 V及特征值D,满足 A*V=V*D。 其中 D的对角线元素为特征值, V的列为对应的特征向量。 如果 D=eig(A)则只返回特征值。 可以验证: A*V=V*D ( 3)正交分解 [Q,R]=qr(A) 例: a = 9 8 6 8 [q,r]=qr(a) q = r = 0 将矩阵 A做正交化分解,使得Q*R=A,其中 Q为正交矩阵(其范数为 1,指令 norm(Q)=1),R为对角化的上三角矩阵。 norm(q) ans = 1 q*r ans = ( 4)三角分解 [L,U]=lu(A) • 将 A做对角线分解,使得 A=L*U,其中 L为下三角矩阵, U为上三角矩阵。 • 注意: L实际上是一个“心理上”的下三角矩阵,它事实上是一个置换矩阵 P的逆矩阵与一个真正下三角矩阵 L1(其对角线元素为 1)的乘积。 [L1,U1,P]=lu(A) 例: a=[1 2 3。 4 5 6。 7 8 9] 比较: [l1,u1,p]=lu(a) [l,u]=lu(a) l1 = 0 0 0 u1 = 0 0 0 p = 0 0 1 1 0 0 0 1 0 l = 0 0 0 u = 0 0 0 可以验证: u1=u, inv(p)*l1=l a=l*u p*a=l1*u1 2*、数据分析 ( 1) 绘制函数图形: fplot() ( 2) 求极值: fmin,fmins ( 3) 求零点:寻找一维函数的过零点 fzero() ( 4) 频谱分析 ( fft) : y=FFT(x); unwrap(); abs;angle画出幅频和相频曲线 ( 5) 了解数据分析函数: max,min,mean,sum,prod等 ( 6) 了解积分运算: trap2,quad,quad8 3*、 常微分方程数值解 [t,x]=ode23(‘xfun’,t0,tf,x0,tol) [t,x]=ode45(‘xfun’,t0,tf,x0,tol) 第三节、绘图简介 • MATLAB提供了丰富的绘图功能 help graph2d可得到所有画二维图形的命令 help graph3d可得到所有画三维图形的命令 下面介绍常用的二维图形命令 基本的绘图命令 plot( x1,y1,option1,x2,y2,option2,… ) x1,y1给出的数据分别为 x,y轴坐标值, option1为选项参数,以逐点连折线的方式绘制 1个二维图形;同时类似地绘制第二个二维图形, ……等。 这是 plot命令的完全格式,在实际应用中可以根据需要进行简化。 比如: plot(x,y); plot(x,y,option) 选项参数 option定义了图形曲线的颜色、线型及标示符号,它由一对单引号括起来。 例 选择图像 figure( 1); figure( 2); … ; figure(n) 打开不同的图形窗口,以便绘制不同的图形。 grid on:在所画出的图形坐标中加入栅格 grid off:除去图形。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。