实验2追赶法算法设计及MATLAB实现

上传人:鲁** 文档编号:558555028 上传时间:2023-11-23 格式:DOC 页数:6 大小:99KB
返回 下载 相关 举报
实验2追赶法算法设计及MATLAB实现_第1页
第1页 / 共6页
实验2追赶法算法设计及MATLAB实现_第2页
第2页 / 共6页
实验2追赶法算法设计及MATLAB实现_第3页
第3页 / 共6页
实验2追赶法算法设计及MATLAB实现_第4页
第4页 / 共6页
实验2追赶法算法设计及MATLAB实现_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《实验2追赶法算法设计及MATLAB实现》由会员分享,可在线阅读,更多相关《实验2追赶法算法设计及MATLAB实现(6页珍藏版)》请在金锄头文库上搜索。

1、数 值 计 算 方 法实验报告实验序号:实验二 实验名称:追赶法算法设计及MATLAB实现实 验 人: 专业年级: 教 学 班:学 号:实验时间:实验二追赶法算法设计及MATLAB实现一、实验目的初步掌握算法设计规则;初步掌握MATLAB程序设计规则二、实验内容1构造利用追赶法求解三对角线性方程组的算法;2在MATLAB环境下编写追赶法的程序(函数);3自由选择若干个三对角线性方程组求解。 三、实验步骤1追赶法算法:算法名称:thomas输入参数:向量a,b,c,f输出参数:输出解信息x算法的自然语言:Step1:u=b,y=b;Step2:对于 i=2,3,。n; Step2。1:当u,否则

2、转step5 l=a/u; u=b-lc; y=f-ly;Step3:当u时,x=y/u,否则转step5Step4:对于:i=n-1,n2,。,2,1,转step6 x=(y-c*x)/uStep5:无解信息,转step7Step6:输出xStep7:关机2MATLAB程序function x,L,U=thomas(a,b,c,f)n=length(b); 对A进行分解u(1)=b(1);for i=2:n if(u(i-1)=0) l(i-1)=a(i1)/u(i1); u(i)=b(i)-l(i1)c(i1); else break; endendL=eye(n)+diag(l,-1);

3、U=diag(u)+diag(c,1);x=zeros(n,1);y=x; 求解Ly=by(1)=f(1);for i=2:n y(i)=f(i)-l(i-1)*y(i-1);end 求解Ux=yif(u(n)=0) x(n)=y(n)/u(n);endfor i=n1:-1:1 x(i)=(y(i)c(i)*x(i+1))/u(i);end3求解实例例1方程组例2方程组例3方程组四、实验结论对于追赶法我最先写的是如下的程序:但是出现了如上截图中的错误,后来与同学讨论还是没能解决我的问题,最后借鉴了她的算法得到了正确的结果。Thomas算法在课堂上老师就已经给我们详细地讲解并指导了我们如何用Matlab编程,但是并没有解决a矩阵的a1如何处理,对于这个问题,我很快解决了。我最大的问题就是如上所示,说明我的编程能力还是比较差,需要多练习。对于如上的错误希望老师看过之后能够给予指导,谢谢!

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 模板/表格 > 财务表格

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号