利用二分法计算方程2x³-4x² 3x-6==0在区间[-5,5]的跟c程序作业
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/10 12:26:30
x^2-2x-1=0x^2-2x=1x^2-2x+1=2(x-1)^2=2x-1=±√2x=1±√2因为√2>1所以x=1+√2≈1+1.4=2.4
设f(x)=x^2-2x-5则f(3)=-2f(4)=3f(3.5)=0.25f[(3+3.5)/2]=f(3.25)=-0.9375f[(3.25+3.5)/2]=f(3.375)=-0.35937
程序如下:#include#includevoidmain(){floatx0,x1,x2,fx0,fx1,fx2;do{printf("请任意输入两个数x1,x2:");scanf("%f%f",&
u=(x+1)(x-2)(x-3)-1,x=0,u>0,x=-1,u0,则方程的解落在区间(-1,-1/2),第二步:取x=-0.75=-3/4,代入上式,u>0,则方程的解落在区间(-1,-3/4)
intf(floatx)返回值,错了.
令f(x)=2^x+4x-4f'(x)=2^xln2+4>0,从而f(x)是增函数,f(x)至多有一个零点.f(0)=-40,故f(x)在(0,1)内有零点;取(0+1)/2=1/2,f(1/2)=2
先建立二分法的fun.m文件,代码如下:functionfun(a,b,e)%f是自定义的函数%a为隔根区间左端点,b为隔根区间右端点,e为绝对误差限ifnargin==2e=1.0e-6;elsei
f(1)=-2f(2)=6f(1.5)=0.625f(1.25)=-0.984375f(1.375)=-0.259765625f(1.4375)=0.161865234375f(1.40625)=-0
先找到a、b,使f(a),f(b)异号,说明在区间(a,b)内一定有零点,然后求f[(a+b)/2],现在假设f(a)0,a0,则在区间(a,(a+b)/2)内有零点,(a+b)/2=>b,从①开始继
设f(x)=2^x-x^2,因f(-1/2)≠0,又f(-1)f(-1/2)
程序如下:clear,clc;a=0;%a=input('inputa:');b=1;%b=input('inputb:');err=10^-5;y1=a*exp(a)
这个相对来讲你只要知道什么是二分法就很好做了,下面是我写的程序,仅供参考(我在visualC++6.0中测试通过,其他编译系统我不太清楚)#include#includevoidmain(){floa
程序如下:clear,clc;a=0;%a=input('inputa:');b=1;%b=input('inputb:');err=10^-5;y1=a*exp(a)-1;y2=b*exp(b)-1
给你个例子,将下面的代码复制到M文件,保存成bisection.m文件function[x,k]=demimethod(a,b,f,emg)%a,b:求解区间的两个端点%f:所求方程的函数名%emg:
这个定义一个函数.f=@(x)x^3-3*x^2-x+3;的意思是说定义一个函数f(x),它只有一个自变量.使用时,直接可以用f(1)它就是x=1时的函数值.另外多参数可以是:f=@(x,y)sqrt
y=2x^3-4x^2-3x+3y‘=6x^2-8x-3,(0,1)上y’小于0,y关于x递减令x=0,y=3,令x=1,y=-2又y在(0,1)上连续,故(0,1)上必定至少有一值,使y=0,即方程
计算y=x^3-2的零点,就是计算y=0时x的值即x^3=2x=1,x^3=1,x=2,x^3=8取x=1.5x^3=3.375取x=1.25x^3=1.953125因为精确到0.1,故取x=1.3x
%二分法symsx;fun=input('(输入函数形式)fun=');a=input('(输入二分法下限)a=');b=input('(输入二分法上限)b=');%二分法求根%f=inline(x^