matlab迭代问题设方程 4x^4-4x^2=02.用迭代法求的所有根,设迭代函数为f(x)=(3x^3-x)/(4x^2-2)1)验证取该迭代函数的正确性;2)分别取初值为-1.1,-1,-0.9,….,0.9,1,1.1,观察迭代结果,是否得到了原方程的
来源:学生作业帮助网 编辑:作业帮 时间:2024/08/08 05:08:41
![matlab迭代问题设方程 4x^4-4x^2=02.用迭代法求的所有根,设迭代函数为f(x)=(3x^3-x)/(4x^2-2)1)验证取该迭代函数的正确性;2)分别取初值为-1.1,-1,-0.9,….,0.9,1,1.1,观察迭代结果,是否得到了原方程的](/uploads/image/z/10456093-37-3.jpg?t=matlab%E8%BF%AD%E4%BB%A3%E9%97%AE%E9%A2%98%E8%AE%BE%E6%96%B9%E7%A8%8B+4x%5E4-4x%5E2%3D02.%E7%94%A8%E8%BF%AD%E4%BB%A3%E6%B3%95%E6%B1%82%E7%9A%84%E6%89%80%E6%9C%89%E6%A0%B9%2C%E8%AE%BE%E8%BF%AD%E4%BB%A3%E5%87%BD%E6%95%B0%E4%B8%BAf%EF%BC%88x%EF%BC%89%3D%EF%BC%883x%5E3-x%29%2F%284x%5E2-2%291%29%E9%AA%8C%E8%AF%81%E5%8F%96%E8%AF%A5%E8%BF%AD%E4%BB%A3%E5%87%BD%E6%95%B0%E7%9A%84%E6%AD%A3%E7%A1%AE%E6%80%A7%EF%BC%9B2%29%E5%88%86%E5%88%AB%E5%8F%96%E5%88%9D%E5%80%BC%E4%B8%BA-1.1%2C-1%2C-0.9%2C%E2%80%A6.%2C0.9%2C1%2C1.1%2C%E8%A7%82%E5%AF%9F%E8%BF%AD%E4%BB%A3%E7%BB%93%E6%9E%9C%2C%E6%98%AF%E5%90%A6%E5%BE%97%E5%88%B0%E4%BA%86%E5%8E%9F%E6%96%B9%E7%A8%8B%E7%9A%84)
matlab迭代问题设方程 4x^4-4x^2=02.用迭代法求的所有根,设迭代函数为f(x)=(3x^3-x)/(4x^2-2)1)验证取该迭代函数的正确性;2)分别取初值为-1.1,-1,-0.9,….,0.9,1,1.1,观察迭代结果,是否得到了原方程的
matlab迭代问题
设方程 4x^4-4x^2=0
2.用迭代法求的所有根,设迭代函数为f(x)=(3x^3-x)/(4x^2-2)
1)验证取该迭代函数的正确性;
2)分别取初值为-1.1,-1,-0.9,….,0.9,1,1.1,观察迭代结果,是否得到了原方程的根;
3)由2),总结出使得迭代序列收敛到每个根时,初值的范围,比如要使迭代序列收敛到0(方程的一个根)初值应该在什么集合中选取,找出每个根的这样的初值集合.寻找的方法,可以是理论分析方法或数值实验方法
matlab迭代问题设方程 4x^4-4x^2=02.用迭代法求的所有根,设迭代函数为f(x)=(3x^3-x)/(4x^2-2)1)验证取该迭代函数的正确性;2)分别取初值为-1.1,-1,-0.9,….,0.9,1,1.1,观察迭代结果,是否得到了原方程的
用这两句代码
syms x
solve(4*x^4-4*x^2)
求得根:
ans =
0
0
1
-1
1)验证取该迭代函数的正确性
就是把根代进去,看是否能得到0
root =
0 1 -1
牛顿法,初始值p0=0
误差限10^-6,结果误差|p-p0|=
0
用牛顿法求得方程的根为
0
牛顿法,初始值p0=1
误差限10^-6,结果误差|p-p0|=
0
用牛顿法求得方程的根为
1
牛顿法,初始值p0=-1
误差限10^-6,结果误差|p-p0|=
0
用牛顿法求得方程的根为
-1
plus =
0 1 -1
故该函数正确.
代码:
root=[0,1,-1]
f=@(x)(3*x.^3-x)./(4*x.^2-2);
plus=zeros(1,size(root,2));
for counter=1:size(root,2)
n0=80;
p0=root(counter);
disp(['牛顿法,','初始值p0=',num2str(p0)])
for i=1:n0
p=f(p0);
if abs(p-p0)