MATLAB入门学习Matlab数值计算课件.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《MATLAB入门学习Matlab数值计算课件.pptx》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 入门 学习 数值 计算 课件
- 资源描述:
-
1、Matlab数值计算第10讲6.1 多项式(polynomial)Application of Matlab Language2013/9/102多项式的MATLAB表达多项式由一个行向量表示该向量元素是该多项式的系数且按降幂次序排列如:多项式x412x325x116由行向量:p=1-12 0 25 116表示。注意,必须包括具有零系数的项。求解多项式的根?roots指令6.1 多项式(polynomial)Application of Matlab Language2013/9/103举例:求解多项式x412x325x116的根p=1-12 025116p=1-12025116r=roots
2、(p)r=11.74732.7028-1.2251+1.4672i-1.2251-1.4672iMATLAB按惯例规定,多项式是行向量,根是列向量6.1 多项式(polynomial)Application of Matlab Language2013/9/104已知多项式的根,求解多项式?能!使用poly指令举例:由上例所得的根求其多项式 pp=poly(r)pp=1.0000-12.0000-0.000025.0000即:x412x325x116116.00006.1 多项式(polynomial)Application of Matlab Language2013/9/105 多项式的乘
3、法(conv指令)举例:多项式a(x)=x32x23x4 和b(x)=x34x29x16的乘积。a=1 2 3 4;b=1 c=conv(a,b)c=162050754 9 16;8464 两个以上的多项式的乘法需要重复使用conv.6.1 多项式(polynomial)Application of Matlab Language2013/9/106多项式加法:MATLAB没有提供进行加法运算的函数。如果两个多项式向量大小相同,标准的数组加法有效。把多项式a(x)与上面给出的b(x)相加。d=a+bd=261220结果:d(x)=2x36x212x20当两个多项式阶次不同,低阶的多项式必须用首
4、零填补,使其 与高阶多项式有同样的阶次。考虑上面多项式c和d相加:e=c+0 0 0 de=162052819684结果:d(x)=x6+6x5+20 x4+52x3+81x2+96x+846.1 多项式(polynomial)Application of Matlab Language2013/9/107 问题:编写一个多项式加法运算的函数文件 明确需求 定义一个函数,需要有两个输入参数(比如:p1、p2),一个输出参数p_out。p1、p2表示两个待计算的多项式。p_out表示两个多项式的求和结果 函数的内部处理 如p1、p2两参数大小相等,则直接相加:p_out=p1+p2 如p1、p2
5、两参数大小不等:If length(p1)length(p2)P2前面要补0元素,使p1、p2两参数大小相等否则P1前面要补0元素,使p1、p2两参数大小相等6.1 多项式(polynomial)Application of Matlab Language2013/9/108函数文件的编写function p_out=poly_sum(p1,p2)%calculate the sum of two polynomialsif length(p1)=length(p2)p_out=p1+p2;elseif length(p1)length(p2)p2=zeros(1,length(p1)-len
6、gth(p2),p2;p_out=p1+p2;elsep1=zeros(1,length(p2)-length(p1),p1;p_out=p1+p2;end6.1 多项式(polynomial)Application of Matlab Language2013/9/109多项式的除法(deconv)举例说明:c(x)=x66x520 x450 x375x284x64 除以b(x)=x34x29x16 c=1 b=1 462050758464;9 16;q,r=deconv(c,b)q=1234r=00000006.1 多项式(polynomial)Application of Matlab
7、Language2013/9/1010多项式的导数(polyder)举例:求b(x)=x34x29x16的导数。b=149 d=polyder(b)d=38916;结果为:3x28x9另外两种形式为:p=polyder(P,Q):求P*Q的导函数p,q=polyder(P,Q):求P/Q的导函数,导数分子存入p,分母存入q6.1 多项式(polynomial)Application of Matlab Language2013/9/1011多项式的估值(polyval)举例:绘制p(x)=x34x27x10在-1,3段上的曲线。x=linspace(-1,3);p=1 4-7-10;v=pol
8、yval(p,x);%choose 100 data points between-1and 3.plot(x,v);title(x3+4x2-7x-10);xlabel(x)6.1 多项式(polynomial)p(x)=x34x27x10在-1,3段上的曲线:Application of Matlab Language2013/9/10126.2 函数的数值导数导数定义为:则y=f(x)的导数可近似为:h0 f(x h)f(x)(x h)(x)limdy dxdy f(x h)f(x)dx(x h)(x)这里h0它是y的有限差分除以x的有限差分。MATLAB中没有直接提供数值导数的函数,只
9、有计算向前差分的函数diff,其调用格式为:DX=diff(X)计算向量X的向前差分DX=diff(X,n)计算向量X的n阶向前差分Application of Matlab Language2013/9/1013例题Application of Matlab Language2013/9/1014设x由0,2间均匀分布的10个点组成,求sinx的1-3阶差分。命令如下:X=linspace(0,2*pi,10);Y=sin(X);DY=diff(Y)D2Y=diff(Y,2)D3Y=diff(Y,3)DY=0.64280.34200.6428D2Y=-0.1188-0.5240-0.6840
展开阅读全文