我寫了八度二分法,但不能佔用其他函數的變量..倍頻調用一個函數作爲另一個函數
我的二分法代碼如下:
function[x,b] = bisection(f,a,b)
t = 10e-8
while abs(b-a) > t;
c = (a+b)/2;
if f(a) * f(b) <= 0
a = a;
b = c;
else
b = b;
a = c
endif
endwhile
x = (a+b)/2
endfunction
我已經有一個文件f1.m:
function y = f1(x)
y = x^2 - 4;
endfunction
但是當我打電話[x,v] = bisection[f1,0,5]
,我得到:
>> [t,v] = bisection(f1,0,5)
error: 'x' undefined near line 2 column 5
error: called from
f1 at line 2 column 3
error: evaluating argument list element number 1
呼叫中函數f1的參數'x'在哪裏? –
請注意,此代碼特定於八度btw。matlab不會運行這個;你可能想要移除matlab標籤或改變代碼以使其與matlab兼容 –