- 116
- 0
- 约8.49万字
- 约 36页
- 2017-05-21 发布于浙江
- 举报
实验四 各类方程的求解(matlab实验报告)1
实验四 各类方程的求解
姓名: 学号: 10000 实验日期:2013.4.17
实验目的:掌握求解各类方程的MATLAB 命令
实验项目:(1)非线性方程求根;非线性方程求极值;
2
()数值积分;
(3)常微分方程求解。
实验背景:客观世界中众多现象可以划归为各类方程,特别是微分方程的求解问题;
因而如何利用MATLAB 求解各类方程的根、极值以及解是一类重要的课题。
实验具体过程:
1、题目: (方程求根)
(i)求方程 2 2 的正根;
xln( x 1 x) x 1 0.5x 0
(ii)Newton 迭代法是一种速度很快的迭代方法,但是它需要预先求得导函数,若
用差商代替导数,可得下列弦截法
x x
x x k k1 f (x ) 。
k1 k k
f (x ) f (x )
k k1
这一迭代法需要两个初值x ,x ,编写一个通用的弦截法计算机程序并用以解 (i)。
0 1
解题思路:(i) 由于该方程是非线性、非多项式的方程,因而求解只能利用fzero 或
者fsolve命令;
(ii) 和 Newton 迭代法不同,弦截法涉及两次递归,求解过程应避免出现
|f (x ) f (x ) |很小的情形。
k k1
对实验题目的解答:
i fun inline(x.*log(sqrt(x.^2-1)+x)-sqrt(x.^2-1)-0.5*x);
()
fplot(fun,[1,10])
16
14
12
10
8
6
4
2
0
-2
1 2 3 4 5 6 7 8 9 10
由此,可以看到零点大约在x 1附近。下面使用fsolve命令进行计算精确的零点位
置。
[x,f,h] fsolve(fun,1)
Optimizer appearstobeconvergingtoapointwhich isnot aroot.
Norm ofrelativechangeinX islessthanmax(options.TolX^2,eps)but
sum-of-squaresoffunction valuesisgreater than or equalto sqrt(options.TolFun)
Try again with anew startingguess.
x
0.7500-0.0000i
f
-0.3750-0.1194i
h
-2
[x,f,h] fsolve(fun,1.2)
Optimizationterminated:first-order optimality islessthan options.TolFun.
x
2.1155
f
1.0709e-006
h
1
(ii)%弦截法tps.m
functiony tps(fun,x0,x1)
e 1e-6;
ifabs(x1-x0)2*e,x1 x0+2*e;end
y x1;
whileabs(x1-x0)e
y x1-(x1-x0)/(feval(fun,x1)-feval(fun,x0))*feval(fun,x1);
x0 x1;
x1 y;
end
tps(fun,1.1,1.2)
ans
2.1155
改进或思考:
由 (i)的运算结果可以看到,对于非线性问题,初始迭代点的选取非常重要。一旦
初始迭代数据过于远离精确值,将导致错误结果。
2、题目:(函数的的极值问题)
原创力文档

文档评论(0)