Matlab 里编写的牛顿迭代法,不知道什么出错了,请大家帮帮忙function newton(f,a)g=diff(f);for n=1:20 x=a; fa=eval(f); ga=eval(g); a=a-fa/ga; X=a; format longdisp(X)%output 'approximate value of a'end 当我用x^3+x^2+5

来源:学生作业帮助网 编辑:作业帮 时间:2024/06/15 21:14:24
Matlab 里编写的牛顿迭代法,不知道什么出错了,请大家帮帮忙function newton(f,a)g=diff(f);for n=1:20   x=a;   fa=eval(f);   ga=eval(g);   a=a-fa/ga;   X=a;   format longdisp(X)%output 'approximate value of a'end   当我用x^3+x^2+5
x[OGJU 2)6;3'_)n8η+8|4}3 [޿4wYcuw=wco?ӭKiEq>)\M]̹YȦ3r&W0 0)g~2N*Aʎl,9)'q?W)97_]4W*KEc :$)\pۃV,?Gd'cA &4bqdX5g'4֬Ng&wH-{t)65Xpxc3Jp.a_oLb6 GwdsoNG7v<'ؖcsLs&FCFSKJ#s&-(XJ9EN/"DADA%<2I40W2BPbϚWFsr+ 8HFf:,JmeS1%9s4XT,[ٓc&lHNBZ+.SL HOE#C]Ő,f &tD9f[B0ədv,DĢ̂j#A@#L &fe!(6f0y)=LmB)ŘҨ7 D6.h9,?{v^{K~vſ}n=|U(p^{<8,3j%y {-7~,x7{W{eS-lU h/tT{7ǑQ [C\k]6 mj݁w

Matlab 里编写的牛顿迭代法,不知道什么出错了,请大家帮帮忙function newton(f,a)g=diff(f);for n=1:20 x=a; fa=eval(f); ga=eval(g); a=a-fa/ga; X=a; format longdisp(X)%output 'approximate value of a'end 当我用x^3+x^2+5
Matlab 里编写的牛顿迭代法,不知道什么出错了,请大家帮帮忙
function newton(f,a)
g=diff(f);
for n=1:20
x=a;
fa=eval(f);
ga=eval(g);
a=a-fa/ga;
X=a;
format long
disp(X)%output 'approximate value of a'
end
当我用x^3+x^2+5=0来检查的时候,答案是正确的;当我用cos(x)-x来检查的时候,输出的东西非常奇怪
» newton('cos(x)-x',10)
-13.77099420154660
1.993511775153038e+002
-2.020292634287075e+004
3.159234177166328e+004
1.005958011583579e+004
1.671119202654307e+003
-4.338983151322527e+002
2.360027467552869e+002
-1.424684491875079e+002
-67.31957649476091
-33.34425589894090
4.884120479595355e+002
-8.719276647547400e+004
4.703381773171524e+005
-1.806200566117338e+006
-9.030749196921680e+005
-4.156637151853491e+005
-1.182332523540095e+005
1.468631133479570e+005
-9.370856705585728e+003
不知道哪里出错了,请大家帮帮忙把,答案应该是0.7左右

Matlab 里编写的牛顿迭代法,不知道什么出错了,请大家帮帮忙function newton(f,a)g=diff(f);for n=1:20 x=a; fa=eval(f); ga=eval(g); a=a-fa/ga; X=a; format longdisp(X)%output 'approximate value of a'end 当我用x^3+x^2+5
首先你的代码run不了,大小写x需改正,diff没用的,修改如下
function newton(f,g,a)
for n=1:20
x=a;
fa=eval(f);
ga=eval(g);
a=a-fa/ga;
x=a;
format long
disp(x)%output 'approximate value of a'
end
其次算法没错,错的是你的初值,newton算法是需要很好初值的,不然会发散
所以你必须选一个离真解很近的值,例如1,0.7,我算了是对的

Matlab 里编写的牛顿迭代法,不知道什么出错了,请大家帮帮忙function newton(f,a)g=diff(f);for n=1:20 x=a; fa=eval(f); ga=eval(g); a=a-fa/ga; X=a; format longdisp(X)%output 'approximate value of a'end 当我用x^3+x^2+5 我知道牛顿迭代法解方程的Matlab程序如何编写了,但不知道输入什么命令才能运行!求详解求12-3x+2cosx=0在【2,4】内的解,Matlab程序如下:clear; %清除所有内存数据;f=inline('12-3*x+2*cos(x)');format long matlab牛顿迭代法求方程根程序求大神帮写个牛顿迭代法解方程的程序. 牛顿迭代法什么样的函数 不适用 数值分析课程设计,编制一般迭代法、牛顿法、弦截法求解方程组的计算机程序,并分析它们的特点不过,有matlab编写的程序吗? 用matlab如何编写牛顿迭代法问题,X^3-X-1=0在闭区间【1,2】内的近似根 要求精度达到10^(-5) 用fortran怎么编写牛顿迭代法 FORTRAN 95 牛顿迭代法用FORTRAN编写:用牛顿迭代法求a**(1.0/3.0)的近似值,取精度为10的负5次方. Matlab 牛顿加速迭代法 急…………Matlab 牛顿加速迭代法 急…………记住是 牛顿“加速”迭代法解方程是x=e^(-x)在x=0.5附近的根 matlab中牛顿法程序我手里有两个牛顿迭代法的程序,但是两种程序计算出来的数值有误差,而我又对数值的要求很高,我是初学牛顿法,所以不知道应该采用哪个.请大家帮我看看!最好能解释一下 牛顿迭代法的具体算法 如何用牛顿法求方程的根——编程.方程是随便的方程,不知道是什么方程.牛顿法,切线法,迭代法都可以. 请问怎么用matlab编程,使用牛顿迭代法求根号5的立方的近似值? 求解非线性方程组的牛顿迭代法的具体思想及方法并附有matlab 源程序 f(x)=x^[(n+1)/2]*esp^(-x/2)的牛顿迭代法MATLAB程序 牛顿迭代法的收敛条件是什么? 具体描述一下牛顿迭代法的使用方法 用牛顿迭代法求115的平方根