计算方法中方程的近似解法中二分法matlab实现
2008-03-12 21:07
731 查看
计算方法
方程的近似解法
二分法
fun.m中代码如下:
function fun(a,b,e)
%f是自定义的函数
%a为隔根区间左端点,b为隔根区间右端点,e为绝对误差限
if nargin==2
e=1.0e-6;
elseif nargin<2
input('变量输入错误!');
return;
end
if a>=b
input('隔根区间输入错误!');
return;
end
a1=a;
b1=b;
c1=(a1+b1)/2;
n=0; %迭代计数器,初值为0
while (b-a)/(2^(n)) >= 1/2*e
c1
if f(c1)==0
c1
elseif f(a1)*f(c1)>0
a1=c1;
c1=(a1+b1)/2;
n=n+1;
elseif f(b1)*f(c1)>0
b1=c1;
c1=(a1+b1)/2;
n=n+1;
end
end
n
f.m文件为自己需要编写的函数
例:用二分法求方程 x^3+4x^2-10=0在区间[1,2]内的根,要求绝对误差不超过1/2*10^(-2)
则f.m文件代码如下:
function y=f(x)
y=x^3+4*x^2-10;
运行及结果:
fun(1,2,10^(-2))
c1 =
1.5000
y =
1.4812
y =
1.2599
y =
1.4812
c1 =
1.7500
y =
1.5956
y =
1.4812
y =
1.5956
c1 =
1.8750
y =
1.6529
y =
1.5956
y =
1.6529
c1 =
1.9375
y =
1.6814
y =
1.6529
y =
1.6814
c1 =
1.9688
y =
1.6957
y =
1.6814
y =
1.6957
c1 =
1.9844
y =
1.7028
y =
1.6957
y =
1.7028
c1 =
1.9922
y =
1.7064
y =
1.7028
y =
1.7064
c1 =
1.9961
y =
1.7082
y =
1.7064
y =
1.7082
n =
8
方程的近似解法
二分法
fun.m中代码如下:
function fun(a,b,e)
%f是自定义的函数
%a为隔根区间左端点,b为隔根区间右端点,e为绝对误差限
if nargin==2
e=1.0e-6;
elseif nargin<2
input('变量输入错误!');
return;
end
if a>=b
input('隔根区间输入错误!');
return;
end
a1=a;
b1=b;
c1=(a1+b1)/2;
n=0; %迭代计数器,初值为0
while (b-a)/(2^(n)) >= 1/2*e
c1
if f(c1)==0
c1
elseif f(a1)*f(c1)>0
a1=c1;
c1=(a1+b1)/2;
n=n+1;
elseif f(b1)*f(c1)>0
b1=c1;
c1=(a1+b1)/2;
n=n+1;
end
end
n
f.m文件为自己需要编写的函数
例:用二分法求方程 x^3+4x^2-10=0在区间[1,2]内的根,要求绝对误差不超过1/2*10^(-2)
则f.m文件代码如下:
function y=f(x)
y=x^3+4*x^2-10;
运行及结果:
fun(1,2,10^(-2))
c1 =
1.5000
y =
1.4812
y =
1.2599
y =
1.4812
c1 =
1.7500
y =
1.5956
y =
1.4812
y =
1.5956
c1 =
1.8750
y =
1.6529
y =
1.5956
y =
1.6529
c1 =
1.9375
y =
1.6814
y =
1.6529
y =
1.6814
c1 =
1.9688
y =
1.6957
y =
1.6814
y =
1.6957
c1 =
1.9844
y =
1.7028
y =
1.6957
y =
1.7028
c1 =
1.9922
y =
1.7064
y =
1.7028
y =
1.7064
c1 =
1.9961
y =
1.7082
y =
1.7064
y =
1.7082
n =
8
相关文章推荐
- Matlab 实现 数值计算方法 二分法
- 计算方法之二分法求方程根
- 计算方法之二分法求方程根
- 用蒙特卡罗方法计算区域面积以matlab实现
- C语言用二分法求方程的近似解的方法
- 计算方法单点截弦matlab实现
- 用牛顿方法解一元非线性方程的根(Matlab实现)
- 计算方法双点截弦法matlab实现
- 数值计算方法:二分法求解方程的根(伪代码 python c/c++)
- 1、编写程序,分别用二分法和牛顿迭代法求解方程x3 – 3x – 1 = 0在x = 2附近的实根,要求计算精确到小数点后七位数字为止,并将求出的近似结果与理论值2cos20 相比较,二分法的初始迭代
- 不用递归的方法计算米粒的个数和每个米粒的面积,matlab实现
- 牛顿法与二分法的比较—matlab实现
- MATLAB实现层次分析法计算权重的代码函数实现
- 在Matlab中实现透视变换的方法
- matlab实现蒙特卡洛方法求解线性规划问题
- ORANGE’S:一个操作系统的实现-chap4之:软盘结构(磁头号和起始扇区的计算方法)
- 图像处理PSNR及其计算(OpenCV和matlab实现)
- ip首部校验和的计算方法(c语言实现)
- 对流方程的有限差分数值解法(步长定律、固有差分格式、matlab程序和输出图形)
- 【Java】斐波那契数列(Fibonacci Sequence、兔子数列)的3种计算方法(递归实现、递归值缓存实现、循环实现、尾递归实现)