j'ai écrit une méthode de bissection dans Octave, mais il ne peut pas consommer une autre fonction ..appel Octave une fonction comme variable d'une autre fonction
Mon code de méthode bissectrice est comme:
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
Et je ont déjà un fichier f1.m:
function y = f1(x)
y = x^2 - 4;
endfunction
Mais quand je l'appelle [x,v] = bisection[f1,0,5]
, je reçois:
>> [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
Où est l'argument 'x' de la fonction' f1' dans votre appel? –
notez que ce code est spécifique à l'octave btw.matlab ne le fera pas; vous pouvez soit supprimer le tag matlab, soit modifier le code pour le rendre compatible matlab –