该【数值分析二分法实验 】是由【762357237】上传分享,文档一共【15】页,该文档可以免费在线阅读,需要了解更多关于【数值分析二分法实验 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。RoJ
202X
数值分析实验-二分法
根号3的15位精确值(>> format long >> sqrt(3) ans = )
>> ezplot('x^3+x^2-3*x-3',[-2,2])
>> grid on
01
>> fzero('x^3+x^2-3*x-3',-)
ans = -
>> fzero('x^3+x^2-3*x-3',)
ans = (正根)
用二分法求 的正根(精确到小数点后3位 )
-1为一个根,另外两个根分别在-,确定这两个根:
02
二分法实现程序1()
%二分法(Bisection Method)
%fun 为 f(x)的表达式
%[a,b]为求根区间
%tol为精度
%x为近似根
%k为迭代次数
function [x,k]=bisect(fun,a,b,tol)
fa=feval(fun,a);fb=feval(fun,b);%求区间端点的函数值
if fa*fb>0
disp('[a,b]不包含根');
return;
end
k=0; %二分迭代次数置初值
while abs(b-a)/2>tol %当区间分半后长度小于等于给定精度,退出循环体
x=(a+b)/2;fx=feval(fun,x);%求区间中点函数值
if fx*fa<0 %判断两端点处函数值符号,做二分
b=x;fb=fx;%根在[a, x]内
else
a=x;fa=fx;%根在[x, b]内
end
k=k+1; %二分次数增加1
end
x=(a+b)/2; %满足精度的根
运行结果:
>> f=inline('x^3+x^2-3*x-3');
>> [x,k]=bisect(fun,1,2,1e-3)
x =
k =
10
注:该程序结果是在可接受的范围内, 两句在命令窗口的执行语句也可作为一个主程序存在一个文件中。,其内容为:
f=inline('x^3+x^2-3*x-3');
[x,k]=bisect(fun,1,2,1e-3)
运行:>>bisexam<CR>和上面得到同样的结果
二分法实现程序2
function [c,err,yc]=bisect(f,a,b,delta)
%Matlab Programs by John H. Mathews and Kurtis D. Fink,其参数注省略
ya=feval(f,a);
yb=feval(f,b);
if ya*yb > 0,end
max1=1+round((log(b-a)-log(delta))/log(2));%由定理2-4确定最大迭代次数
for k=1:max1
c=(a+b)/2;
yc=feval(f,c);
if yc==0
a=c; b=c;
elseif yb*yc>0
b=c; yb=yc;
else
a=c; ya=yc;
end
if b-a < delta, break,end
end
c=(a+b)/2;
err=abs(b-a);
yc=feval(f,c);
注:round(x), 朝最近方向取整
例如:
>>round(-),结果为-1
>>round(),结果为1
运行结果:
(满足精度的解)
-004(误差)
>> erfenfa
c =
err =
yc =
(在近似解处的函数值)
注:该例若显示迭代次数,也是10次,显然,结果要好于程序1。
Format命令只影响数据输出格式,对Matlab的内部计算和数据存储的数值精度不产生任何影响。
用户可以用format命令设置或改变数据输出格式。例如,若输入
》x = [ 4/3 – 6 ]
那么,在不同的输出格式下的输出为
1
》format short
3333
2
》format shorte
3333e + 00 – 06
3
》format long
333333333333
asin 反正弦函数。
acos 反余弦函数。
atan 反正切函数。
sinh 双曲正弦函数。
cosh 双曲余弦函数。
tanh 双曲正切函数。
sqrt 方根函数。
real 复数的实部。
imag 复数的虚部。
round 最邻近整数截断(四舍五入)。
floor 不大于自变量的最大整数。
ceil 不小于自变量的最小整数。
exp 自然指数函数(以e 为底)。
log 自然对数函数(以e 为底)。
Matlab 的部分常用数学函数
bessel Bessel函数。
beta 完全与不完全Beta函数。
gamma 完全与不完全 。
rat 有理逼近。
erf 误差函数。
inv( A ) 方阵A 的逆矩阵。
lu( A ) 矩阵A 的列主元LU分解。
det( A ) 求方阵A 的行列式的值。
fmin 单变量函数的极小值。
fmins 多变量函数的极小值(无约束非线性优化)。
fzero 求单变量函数的零点。
Matlab 的部分常用绘图命令
plot 二维绘图,是将所给点列的相邻两点之间用直线连接。
plot3 三维空间绘图。
mesh 绘制三维网络曲面,三维消隐图。
surf 绘制三维彩色曲面。
title 题头标注。
xlable x 轴标注。
ylable y 轴标注。
text 任意定义的标注。
gtext 鼠标定位的标注。
grid 设置网格线。
subplot 在指定位置建立坐标。
数值分析二分法实验 来自淘豆网m.daumloan.com转载请标明出处.