- 1、本文档共38页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MATLABSimulink北航第二次课2课案
第二章 MATLAB在数值分析中的应用 董素君 新主楼 C-503 dsj@buaa.edu.cn 思考题 进行下列计算,给出不使用for和while等循环语句的计算方法; 1 . 2.求出y=x*sin(x) 在0x100的每个峰值,并绘制曲线 主要内容 1.1 MATLAB环境 1.2 基本程序元素 1.3 数据类型及常用函数 1.4 矩阵 1.5 字符串数组 1.6 程序设计 1.7 图形可视化 1.8 MATLAB在数值分析中的应用 1.9 图形用户界面GUI开发 1.8 MATLAB在数值分析中的应用 多项式 使用降幂系数的行向量表示,如 多项式表示为:p=[1 -12 0 25 116] roots:求多项式等于0的根,根用列向量表示 poly:已知多项式的根,构建相应多项式 polyval(p,n):求多项式函数值 polyder(p):求多项式的微分多项式 1.8 MATLAB在数值分析中的应用 多项式 使用降幂系数的行向量表示,如 多项式表示为:p=[1 -12 0 25 116] roots:求多项式等于0的根,根用列向量表示 poly:已知多项式的根,构建相应多项式 polyval(p,n):求多项式函数值 polyder(p):求多项式的微分多项式 1.8 MATLAB在数值分析中的应用 多项式 使用降幂系数的行向量表示,如 多项式表示为:p=[1 -12 0 25 116] roots:求多项式等于0的根,根用列向量表示 poly:已知多项式的根,构建相应多项式 polyval(p,n):求多项式函数值 polyder(p):求多项式的微分多项式 1.8 MATLAB在数值分析中的应用 多项式 多项式的运算 1.8 MATLAB在数值分析中的应用 插值 一维插值interp1() yi=interp1(x,y,xi) yi=interp1(x,y,xi,’method’) yi=interp1(x,y,xi,’method’,’extrap’) ‘method’用于指定插值算法,其值可以是: ‘nearest’——最近插值(执行速度最快,输出结果为直角转折) ‘linear’——线性插值(默认值,在样本点上斜率变化很大) ‘spline’——分段三次样条插值(最花时间,输出结果最平滑) ‘cubic’, ‘pchip’——分段三次Hermite插值(最占内存,输出结果与spline差不多) 二维插值zi=interp2(x,y,z,xi,yi,’method’) 三维插值vi=interp3(x,y,z,v,xi,yi,zi,’method’) 三次样条插值pp=spline(x,y),返回三次样条插值的分段多项式形式的向量,以进行插值计算:yi=ppval(pp,xi) 1.8 MATLAB在数值分析中的应用 例2:多项式插值 》ys=[0 0.9 0.6 1 0 0.1 -0.3 -0.7 -0.9 -0.2]; %已有的样本点ys 》xs=0:length(ys)-1; %已有的样本点xs 》x=0:0.1:length(ys)-1;%新的样本点x 》y1=interp1(xs,ys,x,nearest); %插值产生新的样本点y1 》y2=interp1(xs,ys,x,linear); %插值产生新的样本点y2 》y3=interp1(xs,ys,x,spline); %插值产生新的样本点y3 》y4=interp1(xs,ys,x,cubic); %插值产生新的样本点y4 》plot(xs,ys,+k,x,y1,:r,x,y2,-m,x,y3,--c,x,y4,--b) %分别绘制不同方法产生的曲线 》legend(sampled point,nearest,linear,spline,cubic) 1.8 MATLAB在数值分析中的应用 1.8 MATLAB在数值分析中的应用 拟合 最小二乘法多项式拟合函数 p=ployfit(x,y,n) 或 [p,s]=ployfit(x,y,n) (x,y)为已知数据,n为多项式阶数;输出参数p为拟合生成的多项式的系数向量(长度为n+1),s为结构参数 通过调用y=polyval(p,x)可以获得x处估计相应的多项式函数值y 样条拟合函数 help splines可快速查看函数列表 使用这些函数拟合得到曲线函数sp以后,可利用fnval()计算任意自变量下的函数值 1.8 MATLAB在数值分析中的应用 [例18]:多项式的拟合 》clc 》clear 》x=0:0.1:2*pi; %生成样本点x 》y=sin(x)+0.5*rand(size(x)); %生成样本点y,通过随机矩阵 》p=poly
文档评论(0)