[英]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 + 3
從x = 1
到x = 4
的積分。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.