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

📄 使用极限微分求解导数(微分).m

📁 拉格朗日插值多项式拟合,牛顿插值多项式,欧拉方程解偏微分方程,使用极限微分求解导数(微分),微分方程组的N=4龙格库塔解法,雅可比爹迭代法解方程AX=B,最小二乘多项式拟合,组合辛普生公式求解积分,用
💻 M
字号:
%__________________________________________________________________________
%说明:使用极限的微分求解。
%格式如下:f'(x)=[f(x+10^(-k)*h)-f(x-10^(-k)*h)]/2*(10(-k)h
%允许误差为|Dn+1-Dn|>=|Dn-Dn-1|或者|Dn-Dn-1|<允许误差时候停止计算后一个不等式求最佳近似值f'(x)=Dn
%__________________________________________________________________________
%调用格式:f为输入函数,X为输入导数在此点的值,toler为允许误差
%l的中间列为输出结果
function [l,n]=difflim(f,x,toler)
max1=15;
h=1;
H(1)=h;
D(1)=(feval(f,x+h)-feval(f,x-h))/(2*h);
E(1)=0;
R(1)=0;
for n=1:2
    h=h/10;
    H(n+1)=h;
    D(n+1)=(feval(f,x+h)-feval(f,x-h))/(2*h);
    E(n+1)=abs(D(n+1)-D(n));
    R(n+1)=2*E(n+1)*(abs(D(n+1))+abs(D(n))+eps);
end
n=2;
while(E(n)>E(n+1)&(R(n)>toler))&n<max1
    h=h/10;
    H(n+2)=h;
    D(n+2)=(feval(f,x+h)-feval(f,x-h))/(2*h);
    E(n+2)=abs(D(n+2)-D(n+1));
    R(n+2)=2*E(n+2)*(abs(D(n+2))+abs(D(n+1))+eps);
    n=n+1;
end
n=length(D)-1;
disp(' l的第一列是表示步长')
disp(' l的第二列是表示近似结果')
disp(' l的第三列是表示误差项')
l=[H' D' E'];

⌨️ 快捷键说明

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