回覆列表
  • 1 # 使用者8684067301957

    二階微分方程是應該有兩個邊界條件,但是一個邊界條件在左邊一個在右邊怎麼用龍格庫塔算我就不知道了。然鵝我可以給你介紹一個新朋友:有限差分。演算法是把x=0~1等分成n+1個點,每兩個點的距離 。第一個點theta你知道等於0,需要求第2個到n+1一共n個點的theta。有限差分裡邊, 所以你列n個方程解一下就好了。最右邊的邊界條件是

    n=100;

    dx=1/n;

    m=4;

    matrixA=zeros(n+1);

    for i=2:n+1

    if i==2

    matrixA(i,1)=1/dx^2;

    else

    matrixA(i,i-1)=1/dx^2;

    end

    matrixA(i,i)=-1/dx^2-m^2;

    if i~=n+1

    matrixA(i,[i+1 i])=matrixA(i,[i+1 i])+[1 -1]/dx^2;

    end

    end

    theta=ones(n+1,1);

    theta(2:n+1)=-matrixA(2:end,2:end)\matrixA(2:end,1);

    plot((0:n)/n,theta)

  • 中秋節和大豐收的關聯?
  • 沒有暖氣,離家兩月,將花盆托盤注滿水,可行嗎?