⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 union2.m

📁 偏微分方程的数值解法
💻 M
字号:
function root = Union2(f,a,b,eps)
format long;
if(nargin==3)
    eps=1.0e-4;
end

fa=subs(sym(f),findsym(sym(f)),a);
fb=subs(sym(f),findsym(sym(f)),b);
if(fa==0)
    root=a;
end
if(fb==0)
    root=b;
end

tol=1;
df=diff(sym(f));                                 %求导数
dfb=subs(sym(df),findsym(sym(df)),b);
x1 = a - (b-a)*fa/(fb-fa);
x1_s = b - fb/dfb;

while tol>eps
    fn = subs(sym(f),findsym(sym(f)),x1);
    dfn_s = subs(sym(df),findsym(sym(df)),x1_s);
    fn_s = subs(sym(f),findsym(sym(f)),x1_s);
    x2 = x1 - (x1_s - x1)*fn/(fn_s - fn);
    x2_s = x1_s - fn_s/dfn_s ;
    tol = abs(x2_s - x1_s);
    x1 = x2;
    x1_s = x2_s;
end
root = x2_s; 
format short;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -