当前位置:首页 > 数值计算方法实验指导(Matlab版)汇总
clc;
A=[1e-16, 1, 1; 2, 1, 2];
B=[2, 1, 2; 1e-16, 1, 1]; % 增广矩阵
% 方程组A
% m = - a_{21}/a_{11} 是第2行加第1行的倍数 % 消去a_{21}
% m = - a_{12}/a_{22} 是第1行加第2行的倍数 % 消去a_{12}, 系数矩阵成对角线
% 未知数x1的值 % 未知数x2的值
disp(['方程组A的解: x1=',num2str(A(1,3)),', x2=',num2str(A(2,3))]); disp(' ');
% 方程组B
% m = - b_{21}/b_{11} 是第2行加第1行的倍数 % 消去b_{21}
% m = - b_{12}/b_{22} 是第1行加第2行的倍数 % 消去b_{12}, 系数矩阵成对角线
% 未知数x1的值 % 未知数x2的值
disp(['方程组B的解: x1=',num2str(B(1,3)),', x2=',num2str(B(2,3))]);
9
《数值计算方法》实验2报告
班级: 20xx级XXXXx班 学号: 姓名: XXX 成绩:
1. 实验名称
实验2 非线性方程的迭代解法(之简单迭代法) 2. 实验题目
3220xx2409xxxx
用简单迭代法求方程x?4x?10?0在区间[1,2]内的一个实根,取绝对误差限为
10?4.
3. 实验目的
掌握非线性方程的简单迭代法. 4. 基础理论
简单迭代法:将方程f(x)?0改写成等价形式x??(x),从初值x0开始,使用迭代公式xk?1??(xk)可以得到一个数列,若该数列收敛,则其极限即为原方程的解.取数列中适当的项可作为近似解. 5. 实验环境
操作系统:Windows xp; 程序设计语言:Matlab 6. 实验过程
7. 结果与分析
8. 附录:程序清单
10
《数值计算方法》实验2报告
班级: 20xx级XXXXx班 学号: 20xx2409xxxx 姓名: XXX 成绩:
1. 实验名称
实验2 非线性方程的迭代解法(之Newton迭代法) 2. 实验题目
用Newton迭代法求方程x?4x?10?0在区间[1,2]内的一个实根,取绝对误差限为
3210?4.
3. 实验目的
掌握求解非线性方程的Newton迭代法. 4. 基础理论
Newton迭代法:解方程f(x)?0的Newton迭代公式为xk?1?xk?5. 实验环境
操作系统:Windows xp; 程序设计语言:Matlab 6. 实验过程
7. 结果与分析
8. 附录:程序清单
f(xk).
f'(xk) 11
《数值计算方法》实验2报告
班级: 20xx级XXXXx班 学号: 姓名: XXX 成绩:
1. 实验名称
实验2 非线性方程的迭代解法(之对分区间法) 2. 实验题目
320xx2409xxxx
用对分区间法求方程x?x?1?0在区间[1, 1.5]内的一个实根,取绝对误差限为10. 3. 实验目的
掌握求解非线性方程的对分区间法. 4. 基础理论
对分区间法:取[a,b]的中点p,若f(p) ≈ 0或b – a < ε,则p为方程f(x)?0的近似解; 若f(a) f(p) < 0,则说明根在区间取[a,p]中;否则,根在区间取[p,b]中.将新的有根区间记为 [a1,b1],对该区间不断重复上述步骤,即可得到方程的近似根. 5. 实验环境
操作系统:Windows xp; 程序设计语言:Matlab 6. 实验过程
用宏定义函数f(x);
为了循环方便,得到的新的有根区间始终用[a,b]表示; 由于新的有根区间可能仍以a为左端点,这样会反复使用函数值f(a),为减少运算次数,将这个函数值保存在一个变量fa中;
同样在判断新的有根区间时用到函数值f(p),若新的有根区间以p为左端点,则下一次用到的f(a)实际上就是现在的f(p),为减少运算次数,将这个函数值保存在一个变量fp中.
算法的伪代码描述:
Input:区间端点a,b;精度要求(即误差限)ε;函数f(x);最大对分次数N Output:近似解或失败信息 行号 1 2 3 4 5 6 7 8 9 10 11 12 13 14
?4伪代码 n ← 1; fa ← f(a); while n ≤ N do p ← (a+b)/ 2; fp ← f(p); if fp = 0 or (b-a)/2 <ε then return p; endif n ← n + 1; if fa ·fp > 0 then a ← p; fa ← fp; else b ← p; 12
注释 对分次数计数器 左端点的函数值 区间中点 中点的函数值 函数值为0或半区间长不超ε 输出近似解并退出程序 计数器加一 若中点与左端点函数值同号 新区间取右半区间 否则 新区间取左右半区间
共分享92篇相关文档