用matlab编程,迭代法求方程f(x)=x^2+2x-10的一个正根

如题所述

clear all; clc;
f = inline('x^2+2*x-10');
df = inline('2*x+2');
k = 1;
x0 = 0;
tol = 1e-3;

x1 = x0-f(x0)/df(x0);
while abs(x1-x0)>tol
    x0 = x1;
    k = k+1;
    x1 = x0-f(x0)/df(x0);
end
x0

%解析解
x = vpa(solve('x^2+2*x-10'))


x0 =

   2.316938934730457


 

x = 

 -4.3166247903553998491149327366707

  2.3166247903553998491149327366707

追问

非常感谢

温馨提示:内容为网友见解,仅供参考
无其他回答

用matlab编程,迭代法求方程f(x)=x^2+2x-10的一个正根
clear all; clc;f = inline('x^2+2*x-10');df = inline('2*x+2');k = 1;x0 = 0;tol = 1e-3;x1 = x0-f(x0)\/df(x0);while abs(x1-x0)>tol x0 = x1; k = k+1; x1 = x0-f(x0)\/df(x0);endx0%解析解x = vpa(solve('x^2+2*x-10'))x0...

matlab求方程正根
如何用Newton迭代法求下列方程的正根:xln((x^2-1)^1\/2+x)-(x^2-1)^1\/2-0.5x=0。其求解方法如下:第一步:自定义函数,即 fun=@(x)x*log((x^2-1)^1\/2+x)-(x^2-1)^1\/2-0.5*x;第二步:自定义导函数,即 dfun=@(x)log(x^2\/2 + x - 1\/2) - x + (x*(x...

用matlab 求f(x)=x^2-3x+2函数在区间[-10,10]内的最值
你好!1 、f(x)=(x-1)*(x-2)当X=-10时,最大值为-11*-13=143 当X=1.5时,最小值=-0.25 3、设长方体的长为X,宽为Y,高为H,则有 XYH=100M^3 XY+2*YH+2*XH 由于底面为单面,所以底面应为尽可能大的正方形,才能最省材料。我的回答你还满意吗~~

求用MATLAB编制方程求根的二分法和Newton法的 Matlab 程序!!!谢谢...
f=[4*cos(x3)+4*sin(x3)+0.5*x3] disp(['迭代次数:',num2str(ii),'次'])牛顿迭代法求解:在方程f(x)=0有实数根的情况下,若能够将方程等价地转化成x=g(x)的形式,然后取一个初始值x0代入x=g(x)的右端,算得x1=g(x0),再计算x2=g(x1),这样依次类推 x(k+1)=g(x(k)...

怎样用MATLAB解方程组啊?
x1+2x2=82x1+3x2=13>>A=[1,2;2,3];b=[8;13];>>x=inv(A)*bx=2.003.00 >>x=A\\Bx=2.003.00;即二元一次方程组的解x1和x2分别是2和3。对于同学问到的用matlab解多次的方程组,有符号解法,方法是:先解出符号解,然后用vpa(F,n)求出n位有效数字的数值解.具体步骤如下:...

MATLAB解带三角函数的方程组,如何编程
2、对于复杂的三角方程,可以用Broyden(拟牛顿法)等方法来求解,得到数值解。如 其求解过程如下 ①建立自定义函数文件,funm。m function y = funm(x)x=x(1,1),y=x(2,1)y(1,1) = x(1,1) - 0.7 * sin(x(1,1)) - 0.2 * cos(x(2,1)); y(2,1) = x(2,1) - ...

来帮我做道matlab编程题!!
一楼回答的不错了 ,但我把范围缩小下 x=linspace(-1.5,4,100);fx=x.^5-4*x.^4+3*x.^2-2*x+6;plot(x,fx);零点 p=[1 -4 0 3 -2 6];roots(p)--- 结果是三个实根 两个虚根!polyval是一个多项式赋值函数,不能求精确的零点,roots可以 ...

跪求用牛顿法求方程近似根 的Matlab 程序
function s=NewtonIterate(x,eps)Newton迭代法求解非线性方程组的解 x为迭代初值,eps为允许误差 if nargin==1 eps=1.0e-6;elseif nargin<1 return end x1=fx1(x); %非线性方程组函数fx1.m x2=-dfx1(x); %非线性方程组的导数函数dfx1.m x0=x2\\x1';while norm(x0)>=eps ...

用jacobi迭代法求解线性方程,求助matlab大师
n=1; %迭代次数while norm(x-x0)>=eps x0=x; x=B*x0+f; n=n+1; if(n>=M) disp('Warning: 迭代次数太多,可能不收敛!'); return; end end 调用示例:A = [ 9 -1 3 -1 10 -2 -2 1 10];b=[10; 7; 6];jacobi(A,b,1e-6)得到...

求解这个MATLAB的题
高斯-塞德尔法(Gauss Seidel Method)是线性方程组的一种迭代法求解方法。其求解过程为:1、给出线性方程组的系数矩阵和常数向量,A=[5 1 -1;2 7 1;1 -2 -6];b=[2;-11;-1];2、给出x的初值,x=[0;0;0];计算误差,tol=1e-6。3、用高斯-塞德尔法方法进行迭代计算。4、用基本的...

相似回答