matlab的梯形公式推导公式,用MATLAB作数值积分例.计算1)矩形公式和梯形公式将(0,4)-Read.ppt...

用MATLAB作数值积分例.计算1)矩形公式和梯形公式将(0,4)-Read.ppt

A Joke Another Joke 用随机模拟计算数值积分 定积分的计算 重积分的计算 MATLAB实现 一般区间重积分的计算 MATLAB实现 随机数的产生:unifrnd(a,b,m,n) 例:多项式求根(也可说明问题的“病态性”) 考虑如下的问题 f(x)=(x-1)(x-2)…….(x-20) 显然方程 f(x)=0 的解是 1 2 3 4 ……… 19 20 请问: 如下方程的解是什么? p=poly(1:20); ep=zeros(1,21); ep(3)=1.0e-5; re=roots(p+ep) plot(re,'b+'); hold on plot(1:20,0,'r*'); hold off ?=10e-5 ?=10e-6 ?=10e-8 其它常用科学计算问题 fft; ifft: 快速Fourier变换及其逆变换 filter:数字滤波 常微分方程延迟问题、边值问题求解 偏微分方程求解 …… 1. 提取(产生)对角阵 v=diag(x) 输入向量x,输出v是以x为对角元素的对角阵;输入矩阵x,输出v是x的对角元素构成的向量; 例:v=diag(diag(x)) 输入矩阵x,输出v是x的对角元素构成的对角阵,可用于迭代法中从A中提取D。 2. 提取上(下)三角阵 其他相关的MATLAB函数 y=triu(x) 输入矩阵x,输出v是x的上三角阵; v=tril(x) 输入矩阵x,输出v是x的下三角阵; v=triu(x,1) 同上,但对角元素为0,可从A中提取U; v=tril(x,-1) 同上,但对角元素为0,可从A中提取L。 例. 用迭代法解 shiyan53 MATLAB对稀疏矩阵的处理: 进行大规模计算的优点 a=sparse(r,c,v,m,n) 在第r行、第c列输入数值v,矩阵共m行n列,输出a为稀疏矩阵,只给出(r,c)及v aa=full(a) 输入稀疏矩阵a,输出aa为满矩阵(包含零元素) a=sparse(2,2:3,8,2,4), aa=full(a), a =(2,2) 8 aa= 0 0 0 0 (2,3) 8 0 8 8 0 输出 n=500;b=[1:n]'; a1=sparse(1:n,1:n,4,n,n); a2=sparse(2:n,1:n-1,1,n,n); a=a1+a2+a2'; tic;x=a\b;t1=toc aa=full(a); tic;xx=aa\b;t2=toc y=sum(x) yy=sum(xx) 例. 分别用稀疏矩阵和满矩阵求解Ax=b, 比较计算时间 设 0 0 t1, t2相差巨大,说明用稀疏矩阵计算的优点 (y=yy 用于简单地验证两种方法结果的一致) shiyan54 + + + + + + + + + x y y=f(x) (xi,yi) ?i 使点(xi,yi) 与曲线 y=f(x)的距离?i尽量小,i=1,…n 曲线拟合与最小二乘准则 用MATLAB作线性最小二乘拟合 1. 作多项式 f(x)=a1xm+ …+amx+am+1拟合,可利用已有程序: a=polyfit(x,y,m) 输入:数据x,y (同长度数组);m (拟合多项式次数) 输出:系数a=[a1, …am , am+1] (数组)。 2. 对超定方程组 仍用 可得最小二乘意义下的解 多项式在x点的值: y=polyval(a,x) 例 汽车刹车距离 刹车距离d与车速v的关系: 数据拟合 (#) 车速与刹车距离的实际数据记作(vi, di), i=1,2,?,7 结果 shiyan57 用MATLAB作多项式运算 1.多项式乘法:p=conv(p1,p2) 3.多项式生成: p=poly(x) 2.多项式除法 [q,r]=deconv(p1,p2) 生成方阵x的特征多项式,或以向量x为根 4.多项式求根: r=roots(p) 8.部分分式展开: [r,p,k]=residue(b,a) 9.矩阵多项式求值: PM=polyvalm(p,M) 5.多项式显示: PS=ploy2str(p,’s’) 一般“卷积”运算 6.多项式求导: dp=ployder(p) 7.多项式积分: ip=ployint(p) Matlab program Root_example.m MATLAB优化工具箱解非线性方程 fzero: 单变量方程 f(x)=0 求根(变号点) 最简形式 x= fzero(@f, x0 ) 可选输入: “P1,P2,...”是传给f.m的参

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值