第讲 MATLAB多项式及插值.ppt
文本预览下载声明
5.1 数据统计处理 5.2 多项式计算 5.3 插值运算 5.4 多项式拟合 一个多项式的幂级数形式可表示为: 同时也可表为嵌套形式 或因子形式 N阶多项式n个根,其中包含重根和复根。若多项式所有系数均为实数,则全部复根都将以共轭对的形式出现 2、相关函数 polyval: 可用命令polyval计算多项式的值。 例: 计算y(2.5) c=[3,-7,2,1,1]; xi=2.5; yi=polyval(c,xi) yi = 23.8125 5.3插值运算 算例:给出f(x)=ln(x)的数值表,用Lagrange计算ln(0.54) 的近似值。 x=[0.4:0.1:0.8]; y=[-0.916291,-0.693147,-0.510826,-0.356675,-0.223144]; lagrange(x,y,0.54) ans = -0.6161 (精确解-0.616143) 2、Runge现象和分段插值 问题的提出:根据区间[a,b]上给出的节点做插值多项式p(x)的近似值,一般总认为p(x)的次数越高则逼近f(x)的精度就越好,但事实并非如此。 反例: 在区间[-5,5]上的各阶导数存在,但在此区间上取n个节点所构成的Lagrange插值多项式在全区间内并非都收敛。 取n=10,用Lagrange插值法进行插值计算。 x=[-5:1:5]; y=1./(1+x.^2); x0=[-5:0.1:5]; y0=lagrange(x,y,x0); y1=1./(1+x0.^2); %绘制图形 plot(x0,y0,--r) %插值曲线 hold on plot(x0,y1,‘-b) %原曲线 为解决Rung问题,引入分段插值。 算法分析:所谓分段插值就是通过插值点用折线或低次曲线连接起来逼近原曲线。 MATLAB实现 可调用内部函数。 命令 interp1 例 y1=interp1(x0,y0,x); plot(x,ya,x,y1); * * 第5讲 MATLAB数据分析与多项式计算 5.1 数据统计处理 5.1.1 最大值和最小值 MATLAB提供的求数据序列的最大值和最小值的函数分别为max和min,两个函数的调用格式和操作过程类似。 1.求向量的最大值和最小值 求一个向量X的最大值的函数有两种调用格式,分别是: (1) y=max(X):返回向量X的最大值存入y,如果X中包含复数元素,则按模取最大值。 (2) [y,I]=max(X):返回向量X的最大值存入y,最大值的序号存入I,如果X中包含复数元素,则按模取最大值。 求向量X的最小值的函数是min(X),用法和max(X)完全相同。 例5-1 求向量x的最大值。 命令如下: x=[-43,72,9,16,23,47]; y=max(x) %求向量x中的最大值 [y,l]=max(x) %求向量x中的最大值及其该元素的位置 2.求矩阵的最大值和最小值 求矩阵A的最大值的函数有3种调用格式,分别是: (1) max(A):返回一个行向量,向量的第i个元素是矩阵A的第i列上的最大值。 (2) [Y,U]=max(A):返回行向量Y和U,Y向量记录A的每列的最大值,U向量记录每列最大值的行号。 (3) max(A,[],dim):dim取1或2。dim取1时,该函数和max(A)完全相同;dim取2时,该函数返回一个列向量,其第i个元素是A矩阵的第i行上的最大值。 求最小值的函数是min,其用法和max完全相同。 例5-2 分别求3×4矩阵x中各列和各行元素中的最大值,并求整个矩阵的最大值和最小值。 3.两个向量或矩阵对应元素的比较 函数max和min还能对两个同型的向量或矩阵进行比较,调用格式为: (1) U=max(A,B):A,B是两个同型的向量或矩阵,结果U是与A,B同型的向量或矩阵,U的每个元素等于A,B对应元素的较大者。 (2) U=max(A,n):n是一个标量,结果U是与A同型的向量或矩阵,U的每个元素等于A对应元素和n中的较大者。 min函数的用法和max完全相同。 例5-3 求两个2×3矩阵x, y所有同一位置上的较大元素构成的新矩阵p。 5.1.2 求和与求积
显示全部