我写了八度二分法,但不能占用其他函数的变量..倍频调用一个函数作为另一个函数
我的二分法代码如下:
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兼容 –