簡體   English   中英

matlab中沒有足夠的輸入參數錯誤

[英]Not enough input arguments error in matlab

這是我的 matlab 代碼,我在第 2 行出現了 Not enough input argument 錯誤,我不知道如何修復它。 有幫助嗎? 提前致謝 。

function [] = Integr1( F,a,b )
i = ((b - a)/500);
x = a;k = 0; n = 0;
while x <= b
    F1 = F(x);
    x = x + i;
    F2 = F(x);
   m = ((F1+F2)*i)/2;
    k = k +m;
end
k
x = a; e = 0; o = 0;
while x <= (b - 2*i)
    x = x + i;
    e = e + F(x);
    x = x + i;
    o = o + F(x);
end
n = (i/3)*(F(a) + F(b) + 2*o + 4*e)

此代碼通過梯形規則執行積分。 最后一行代碼放棄了它。 不要只按 MATLAB 編輯器中的“播放”按鈕。 甚至不要考慮它,並忽略它在那里。 相反,進入你的命令提示符,你需要定義進入這個函數的輸入。 這些輸入是:

  • F :您要集成的功能:
  • a : 起點x
  • b : 終點x

順便說一句,一旦你運行它,你的函數就不會做任何事情。 您可能想要返回積分結果,因此您需要將代碼的第一行修改為:

function n = Integr1( F,a,b )

最后一行代碼將n指定為曲線下的面積,這就是您想要返回的。

現在,讓我們定義您的參數。 F一個簡單示例是線性函數……類似於:

F = @(x) 2*x + 3;

這定義了一個函數y = 2*x + 3 接下來定義起點和終點:

a = 1; b = 4;

我分別做了 1 和 4。 現在你可以調用代碼:

out = Integr1(F, a, b);

out應該包含y = 2*x + 3x = 1x = 4的積分。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM