当前位置: 首页 > 计算模拟 >为了模拟,自学的matlab,心力憔悴,救救孩子。

为了模拟,自学的matlab,心力憔悴,救救孩子。

作者 东翼
来源: 小木虫 650 13 举报帖子
+关注

原方程、文献图如图所示。其中R=1;V=1;a=0.1;我模拟的微分模拟图不知道为啥是这样的。
微分方程组:

function du=f(xi,u)
%a替换alpha
syms R V xi a u0 u1 u2 u3
du=zeros(4,1);
du0=-u0-1./2*V*u1;   %22 初始值
du1=-V*u0-(1+R*exp(-a*xi)*cosh(a*V *xi))*u1-(1./2*V-R*exp(-a*xi)*sinh(a*V *xi))*u2;   %23;a替换alpha
du2=-(1./2*V-R*exp(-a*xi)*sinh(a*V *xi))*u1-(1+4*R*exp(-a*xi)*cosh(a*V *xi))*u2-(1./2*V-3*R*exp(-a*xi)*sinh(a*V *xi))*u3;   %24
du3=-(1./2*V-R*exp(-a*xi)*sinh(a*V *xi))*u2-(1+9*R*exp(-a*xi)*cosh(a*V *xi))*u3';   %25
end

R=1;
V=1;
a=0.1;
[xi,u]=ode45('f',[0 10],[100 0 0 0]);   %求数值解
plot(xi,u(:,1),'-r',xi,u(:,2),'.k',xi,u(:,3),'*g',xi,u(:,4),':b')

积分方程组是基于上述结果的,也不知怎么搞:
function N=integral(xi)
syms xi V N u0 u1 u2 u3 N0 N1 N2 N3
N0=u0+1./2*V*u1;
N1=V*u0+u1+1./2*V*u2;
N2=1./2*V*u1+u2+1./2*V*u3;
N3=1./2*V*u2+u3
end

N0=quad(@integral,0,10);
N1=quad(@integral,0,10);
N2=quad(@integral,0,10);
N3=quad(@integral,0,10);
plot(xi,N(:,1),'-r',xi,N(:,2),'.k',xi,N(:,3),'*g',xi,N(:,4),':b')
不知怎么发不了图片,图片:https://zhidao.baidu.com/questio ... ?entry=qb_uhome_tag 返回小木虫查看更多

今日热帖
  • 精华评论
  • ofwhy

    clc;
    clear all;
    close all;

    function du=f(xi,u)
    %a替换alpha
    global R V a;

    du1=-u(1)-1./2*V*u(2);   %22 初始值
    du2=-V*u(1)-(1+R*exp(-a*xi)*cosh(a*V *xi))*u(2)-(1./2*V-R*exp(-a*xi)*sinh(a*V *xi))*u(3);   %23;a替换alpha
    du3=-(1./2*V-R*exp(-a*xi)*sinh(a*V *xi))*u(2)-(1+4*R*exp(-a*xi)*cosh(a*V *xi))*u(3)-(1./2*V-3*R*exp(-a*xi)*sinh(a*V *xi))*u(4);   %24
    du4=-(1./2*V-R*exp(-a*xi)*sinh(a*V *xi))*u(3)-(1+9*R*exp(-a*xi)*cosh(a*V *xi))*u(4)';   %25
    du=[du1;du2;du3;du4]

    end

    global R V a;
    R=1;
    V=1;
    a=0.1;
    [xi,u]=ode45('f',[0 10],[100 0 0 0]);   %求数值解
    plot(xi,u(:,1),'-r',xi,u(:,2),'.k',xi,u(:,3),'*g',xi,u(:,4),':b'),

  • ofwhy

    剩下的我也不会

  • ofwhy

    N和u有计算关系式吗?

  • ofwhy

    对啊

猜你喜欢
下载小木虫APP
与700万科研达人随时交流
  • 二维码
  • IOS
  • 安卓