回覆列表
  • 1 # 使用者52510796211

    可以用“function?main”宣告主函式,即主程式,同時也要合理使用全域性變數,向多個函式傳遞中間引數值,具體方法如下

    1、編寫一段程式,計算(A+B+C)/D的功能,直接引用自定義add函式即可實現此求和做除的功能,其中A、B、C作為全域性變數,不需作為函式引數輸入,因為D為宣告全域性變數,所以要作為函式引數輸入

    2、從中可以看到全域性變數的使用方法,即先要宣告再賦值,最後如果在函式中直接使用,需要在函式體中再次宣告該變數為全域性定義

    4、這裡加入下圖第一句主函式宣告語句後,編譯框會自動識別出函式範圍,使函式變為可摺疊狀態,不像之前,無法區分主程式和函式

    5、程式識別出函式後,即可進行摺疊,如果一個程式中有較長的主程式和較多函式,即可邊編輯程式,邊進行摺疊,使其看起來更簡潔

    6、此時執行後,就沒有錯誤提示,可以直接計算出結果,根據計算公式,可以知道此結果是正確的

  • 2 # 使用者9662297337979

    可能你的程式格式有問題。如把程式碼整合在一起,可以來寫

    function ode45_main( )

    clear all;%清除記憶體中的變數和和函式

    tspan=[0,0.245]; %定義變數的求解區間

    y0=[0.449/0.09846,0.1021/0.09846,0.1057/0.09846,0.019/0.09846,0.2327/0.09846,0.085/0.09846,1.01325,1,1273];%定義初始值-v=0.669;

    [z,y]=ode45(@redu_model_fun,tspan,y0);

    A=[z,y];

    disp(" z, y ")

    disp(A)

    end

    function dy=redu_model_fun(z,y)

    n=y(1)+y(2)+y(3)+y(4)+y(5)+y(6);

    。。。。。。

    dy(9)=1/(y(8)*SigmaNC)*(-SigmarH-y(8)*dy(7)-y(7)*dy(8)-SigmaRC*y(9));

    end

    然後,儲存為 ode45_main.m 檔案

    執行可得

  • 中秋節和大豐收的關聯?
  • 要想人不知除非己莫為的作者和詩名?