Hello,Hello 木木更文啦~
以后公 众 号会多出一个板块——数值分析,更新有关数值分析的相关内容以及如何用Matlab去实现。木木是一名工科生,数值分析这门课是在研一上学期开设的,当时没有意识到这门课的重要性,到了后来的科研道路上,发现数值分析实在是太重要了,是一个解决数学问题的有效工具,如果不去面对它,故意选择避开它,那么很多情况下接触不到理论层次的内容,可能有时候有很多想法,但是没办法实现,这时候可以借助数值分析的思想及强大的计算软件——MATLAB去尝试着实现,有时候即便实现不了也可以提供一些有用的思路。
以上内容是对数值分析的重要性发表的感慨,木木会在以后更新数值分析常用的方法以及相应的代码,大家只要懂得一点思想,用的时候可以直接Copy就可以拿来用,理论讲解我就不说了,网上、教材上都会有详细讲解,代码的简单讲解会在B站上同步更新,有兴趣可以看一下~
二分法应该是每一本数值分析教材讲述方程求根情形中第一个方法吧,它的流程是这样的:
代码
function x=Erfenfa_1(fname,a,b,e)
%fname为函数名,a,b为区间端点,e为精度
fa = feval(fname,a);
fb = feval(fname,b);
if fa*fb>0 error('两端函数值为同号');end
k = 0
x = (a+b)/2
while (b-a)>(2*e)
fx = feval(fname,x);
if fa*fx<0
b = x;
fb = fx;
else
a = x;
fa = fx;
end
k = k+1
x = (a+b)/2
end
命令行输入:
f = @(x) x^3+2*x^2+10*x-20;
x = Erfenfa_1(f,1,2,1e-6)
制作的小App: