MATLAB第3章MATLAB数值计算-复习.ppt_第1页
MATLAB第3章MATLAB数值计算-复习.ppt_第2页
MATLAB第3章MATLAB数值计算-复习.ppt_第3页
MATLAB第3章MATLAB数值计算-复习.ppt_第4页
MATLAB第3章MATLAB数值计算-复习.ppt_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第3 章 MATLAB 数值运算,多项式 多项式的表达和创建 polyval(p, x):计算x点中多项式值 roots(a):求多项式的根,插值和拟合 interp1(x,y,xi,spline) p=polyfit(x,y,n),请分别用拟合(二阶至三阶)和插值(线性和三次样条)的方法来估测 X=9.5 时 Y 的值。 x=1:10 y=16 32 70 142 260 436 682 1010 1432 1960 p2=polyfit(x,y,2) yp2=polyval(p2,9.5) p3=polyfit(x,y,3) yp3=polyval(p3,9.5) yi1=interp1(

2、x,y,9.5) yi2=interp1(x,y,9.5,spline),数值微分 diff函数:计算两个相邻点的差值 dy(x)/dx的数值微分为dy=diff(y)./diff(x)。,t=0 1 2 3 5 7 9 12 15 20; v=0 3 5 8 12 15 20 27 35 50; a=diff(v)./diff(t) plot(t,v,-*,t(1:length(t)-1),a,-o),t=0 1 2 3 5 7 9 12 15 20; v=0 3 5 8 12 15 20 27 35 50; ti=0:20; vi=interp1(t,v,ti,spline); a=dif

3、f(vi)./diff(ti) plot(ti,vi,-*,ti(1:length(ti)-1),a,-o),3.3.2 数值积分 cumsum(矩形积分):cumsum(x)*h trapz(梯形积分):z=trapz(x,y) quad(辛普森积分):q=quad(f,a,b) quadl(科茨积分,也称高精度数值积分):q=quadl(f,a,b) 4种近似方法的精度由低而高,和 trapz比较,quad、quadl不同之处在于这两者类似解析式的积分式,只需设定上下限及定义要积分的函数;而 trapz 是针对离散点数据做积分。,t=0 1 2 3 5 7 9 12 15 20; v=0

4、3 5 8 12 15 20 27 35 50; s=trapz(x,y),x=linspace(0,1,100); y=x./(x.2+4); t=cumsum(y*(1/99); t(99) x=linspace(0,1,100); y=x./(x.2+4); t=trapz(x,y) t=quad(x./(x.2+4),0,1) t=quadl(x./(x.2+4),0,1), a=1/2 1/3 1;1 5/3 3;2 4/3 5; b=1;3;2; c=ab c = 4 3 -2,3.4 线性方程组,3.5 稀疏矩阵 S=sparse(A):将一个满矩阵A 转化为一个稀疏矩阵S。若S

5、本身就是一个稀疏矩阵,则sparse(S)返回S。 S=sparse(i,j,s,m,n):在第i 行、第j 列输入数值s,矩阵共m 行n 列,输出S 为一个稀疏矩阵,给出(i,j)及s。 S=sparse(i,j,s):比较简单的格式,只输入非零元的数据s 以及各非零元的行下标i和列下标j。 S=sparse(m,n):是sparse(,m,n,0)的省略形式,用来产生一个mn 的全零矩阵。, i = 1 2 4; j = 1 3 5; s = 6 7 8;,B=sparse(i,j,s,5,5) B = (1,1) 6 (2,3) 7 (4,5) 8 full(B) ans = 6 0 0

6、 0 0 0 0 7 0 0 0 0 0 0 0 0 0 0 0 8 0 0 0 0 0,3.6 常微分方程的数值解 1二三阶龙格-库塔函数(ode23) 函数ode23 的调用格式:t,y=ode23(f,tspan,y0) f是一个字符串,表示微分方程的形式,也可以是f(x,y)的M文件。 tspan=t0 tfinal表示积分区间 y0 表示初始条件 函数f(t,y)的两个输出参数是列向量t 与矩阵y 2四五阶龙格-库塔函数(ode45),用二三阶和四五阶龙格-库塔法解常微分方程的初值问题:,将微分方程写成自定义函数exam2fun.m function f=exam2fun (x,y)

7、 f=-y-x*y.2; f=f(:); 在命令窗口输入以下语句: x1,y1=ode23(exam2fun,0:0.1:1,1) x1,y1 ans = 0 0.1000 0.2000 0.3000 0.4000 0.5000 0.6000 0.7000 0.8000 0.9000 1.0000 ans = 1.0000 0.9006 0.8046 0.7144 0.6314 0.5563 0.4892 0.4296 0.3772 0.3312 0.2910,polyval(p, x):计算x点中多项式值 roots(a):求多项式的根 interp1(x,y,xi,spline) p=polyfit(x,y,n) diff函数:计算两个相邻点的差值 cumsum(矩形积分):cumsum(x)*h trapz(梯形积分):z=trapz(x,y) quad(辛普森积分):q=quad(f,a,b) quadl(科茨积分): q=quadl(fun

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论