matlab四阶龙格库塔+打靶法

本文介绍了利用MATLAB的四阶龙格库塔算法解决初始值问题(IVP)解微分方程,并探讨了打靶法在边界值问题(BVP)中的应用,特别是Newton-Raphson射击法和放松法。此外,还详细阐述了MATLAB中floor、round、ceil和fix四个取整函数的区别。
摘要由CSDN通过智能技术生成
function ys=dbf(f,a,b,a1fa,beta,h,eps)
ff=@(x,y)[y(2),f(y(1),y(2),x)];
    xvalue=a:h:b;
    n=length(xvalue)
    s0=a-0.01;
    x0=[a1fa,s0];
    flag=0;
    y0=rk4(ff,a,x0,h,a,b);
    if abs(y0(1,n)-beta)<=eps
    flag=1;
    y1=y0;
    else
        s1=s0+1;
        x0=[a1fa,s1];
        y1=rk4(ff,a,x0,h,a,b);
         if abs(y1(1,n)-beta)<=eps
             flag=1;
    end
    end
if flag~=1
    while abs(y1(1,n)-beta)>eps
        s2=s1-(y1(1,n)-beta)*(s1-s0)/(y1(1,n)-y0(1,n));
        x0=[a1fa,s2];
        y2=rk4(ff,a,x0,h,a,b);
        s0=s1;
        s1=s2;
        y0=y1;
        y1=y2;
    end
end
xvalue=a:h:b;
yvalue=y1(1,:);
ys=[xvalue',yvalue'];
function x=rk4(f,t0,x0,h,a,b)
t=a:h:b;
m=length(t);
t(1)=t0;
x(:,1)=x0;
for i=1:m-1
    L1=f(t(i),x(:,i)); 
    L2=f(t(i)+h/2,x(:,i)'+(h/2
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值