我設了一個嵌套匿名函式。
>> myffhd=@(a)(quad(@(x)(a+x),1,2))
從運算結果看來,x的取值是“1,2”的平均值。并且似乎必須要輸入兩個及以上的常數,x的取值為這些常數中前兩個的平均值。(如下)
>> myffhd=@(a)(quad(@(x)(a+x),1,2,3))
但是如果只輸入一個常數(如下),在呼叫該匿名函式時就會出錯
@(a)(quad(@(x)(a+x),1))
報錯內容:
>> myffhd(5)
輸入引數的數目不足。
出錯 quad (line 60)
if ~isscalar(a) || ~isscalar(b)
出錯 @(a)(quad(@(x)(a+x),1))
這是為什么呢?
uj5u.com熱心網友回復:
自頂一個,希望有人幫忙uj5u.com熱心網友回復:
quad(fun,a,b)此 MATLAB 函式 嘗試使用遞回自適應 Simpson 積分法求取函式 fun 從 a 到 b 的近似積分,誤差小于 1e-6。fun 是函式句柄。范圍 a和 b 必須是有限的。函式 y = fun(x) 應接受矢量引數 x 并回傳矢量結果 y,即在每個 x 元素處計算的被積函式。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/98022.html
標籤:其他開發語言
