matlab怎么用二分法求根啊?比如说x-tan(x)=0在[4.0,4.6]上的根是多少?

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/28 03:31:30
matlab怎么用二分法求根啊?比如说x-tan(x)=0在[4.0,4.6]上的根是多少?

matlab怎么用二分法求根啊?比如说x-tan(x)=0在[4.0,4.6]上的根是多少?
matlab怎么用二分法求根啊?比如说x-tan(x)=0在[4.0,4.6]上的根是多少?

matlab怎么用二分法求根啊?比如说x-tan(x)=0在[4.0,4.6]上的根是多少?
x1=4;
x2=4.6;
x=(x1+x2)/2;
f=inline('x-tan(x)');
tol=1e-10;
for i=1:10000
if abs(f(x))break;
elseif(f(x1)*f(x)<0)
x2=x;
else
x1=x;
end
x=(x1+x2)/2;
end
disp(['迭代次数',num2str(i)])
disp(['根:',num2str(x,'%.8f')])
disp(['函数值:',num2str(f(x),'%.8e')])

4.4934
function approx_root=bisect (a,b)
fa =bifun(a);
fb =bifun(b);
while(abs(b-a)> 0.000001)
c=(a+b)/2;
approx_root=c;
fc=bifun(c);
[a,c,b;fa,...

全部展开

4.4934
function approx_root=bisect (a,b)
fa =bifun(a);
fb =bifun(b);
while(abs(b-a)> 0.000001)
c=(a+b)/2;
approx_root=c;
fc=bifun(c);
[a,c,b;fa,fc,fb]
if ( sign(fb) * sign(fc)<=0)
a=c;
fa=fc;
else
b=c;
fb=fc;
end
end
%----------------------------------
function f=bifun(x)
f=x-tan(x);
----------
bisect(4.0,4.6)
ans =
4.0000 4.3000 4.6000
2.8422 2.0142 -4.2602
ans =
4.3000 4.4500 4.6000
2.0142 0.7267 -4.2602
ans =
4.4500 4.5250 4.6000
0.7267 -0.7489 -4.2602
ans =
4.4500 4.4875 4.5250
0.7267 0.1161 -0.7489
ans =
4.4875 4.5062 4.5250
0.1161 -0.2759 -0.7489
ans =
4.4875 4.4969 4.5062
0.1161 -0.0711 -0.2759
ans =
4.4875 4.4922 4.4969
0.1161 0.0245 -0.0711
ans =
4.4922 4.4945 4.4969
0.0245 -0.0228 -0.0711
ans =
4.4922 4.4934 4.4945
0.0245 0.0010 -0.0228
ans =
4.4934 4.4939 4.4945
0.0010 -0.0108 -0.0228
ans =
4.4934 4.4937 4.4939
0.0010 -0.0049 -0.0108
ans =
4.4934 4.4935 4.4937
0.0010 -0.0019 -0.0049
ans =
4.4934 4.4934 4.4935
0.0010 -0.0005 -0.0019
ans =
4.4934 4.4934 4.4934
0.0010 0.0003 -0.0005
ans =
4.4934 4.4934 4.4934
0.0003 -0.0001 -0.0005
ans =
4.4934 4.4934 4.4934
0.0003 0.0001 -0.0001
ans =
4.4934 4.4934 4.4934
0.0001 -0.0000 -0.0001
ans =
4.4934 4.4934 4.4934
0.0001 0.0000 -0.0000
ans =
4.4934 4.4934 4.4934
0.0000 0.0000 -0.0000
ans =
4.4934 4.4934 4.4934
0.0000 0.0000 -0.0000
ans =
4.4934

收起

sina=cosa=√2/2
cos(3π+α)-sin(π+α)=-cosa+sina=0

原理如图。

程序:

fun=inline('x-tan(x)');a=4;b=4.6; tol=1e-4;

 n=1;

    c=(a+b)/2;

    while abs(feval(fun,c))>tol

        if feval(fun,a)*feval(fun,c)<0

            b=c;c=(a+b)/2;

        elseif feval(fun,b)*feval(fun,c)<0

          a=c;c=(a+b)/2;

        else y=c;tol=10000;

        end

        n=n+1;

    end

    y=c

结果:根y

y =

 4.4934

matlab怎么用二分法求根啊?比如说x-tan(x)=0在[4.0,4.6]上的根是多少? doolittle分解 二分法求根matlab 用二分法求根.用C语言或MATLAB好手在帮忙啊1)用二分法求非线性方程f(x)=x6-5x5+3x4+x3-7x2+7x-20=0在区间[0,5]内的根. ≤10-5.用C语言或MATLAB matlab编写非线性方程组求根的二分法程序 利用matlab编写非线性方程组求根的二分法程序 matlab二分法编程用二分法求方程的根:x*x+53.99x-0.054=0 求用MATLAB编制方程求根的二分法和Newton法的 Matlab 程序!求用MATLAB编制方程求根的二分法和Newton法的 Matlab 程序.利用所编制的程序,的最小正根,要求精度 .其中二分法的有根区间取为 【4.0,4.6】, 先用求根公式求出方程2x^2-3x-1=0然后借助计算机或计算器,用二分法求出这个方程的近似值(精确0.1)用求根公式算出 x1约=-0.28,x2约=1.78然后怎么算啊?取哪个范围使f(a)×f(b) 利用matlab 编程 1.求用方程求根的二分法求方程x3-x-1=0在区间[1,1.5]内的一个实根,要求误差小于0.005.2. 求根 二分法 局限性 用二分法怎么求零点怎么二分法求零点啊?还有哪些函数可以用二分法求零点 matlab编程题:用二分法求方程x^3-3*x-1=0的根 matlab画图:用二分法求方程x^3cosx+6sin^5x-3=0 怎么利用MATLAB画图功能确定方程f(x)=2x^3-x^2-x-5的求根区间? MATLAB 用二分法计算方程2X+1=0的程序 MATLAB软件用二分法求解函数exp(sin(x))-2的零点 C++用二分法求根.用二分法设计一个通用函数root(),求方程f(x)=0在[a,b]内的一个实根(设f(a)*f(b) 先用求根公式求出方程2x²-3x-1=0的解,然后再借助计算器,用二分法求出这个方程的近似值 (先用求根公式求出方程2x²-3x-1=0的解,然后再借助计算器,用二分法求出这个方程的近似值 (精