Matlab - input-argument ist nicht definiert
Habe ich diese sehr einfache Funktion in matlab.
function [f]=f1(a, xx)
xx
f = -exp(-a(1)*(xx(1)-1)^2 - a(2)*(xx(2)-1)^2) - exp(-a(1)*(xx(1)+1)^2 -a(2)*(xx(2)+1)^2);
Es druckt den Wert von xx, und meckert dann "Input argument "xx" ist nicht definiert".
Wie ist das möglich? Was ist Los?
Rufe ich die Funktion mit feval
Hier ist ein weiteres Beispiel, in dem nicht feval. Ich bekomme die Fehlermeldung
Input argument "xxx" ist nicht definiert. Bitte helfen Sie mir, ich habe keine Ahnung, was Los ist, und ich bin stecken.
Habe ich:
Funktion [ ans ] = f2( xxx )
xxx
%f2 ist 1/(1+xxx^2), die Funktion für problem 2
ans = 1 /(1+xxx^2);
Ende
einer Datei ist neville.m
Q = neville(x,xi,f2)
%NEVILLE implementiert Neville-Methode für die Polynom-interpolation
nplus1 = max(size(xi));
Q = zeros(nplus1);
Q(:,1) =f2(xi);
for i = 2 : nplus1
für j = 2 : i
Q(i, j) = ((x - xi - (i-j)) * Q(i, j-1) - (x - x(i))*Q(i-1, j-1)) /(x(i) - x(i-j));
end;
end;
Die andere Datei ist neville_driver.m
N = 6;
aux = [0:6];
xi = -5 + 10*aux/N;
Q = neville(4, xi, f2)
- wie nennst du deine Funktion?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sieht aus wie du bist man eine Funktion
f2
inneville.m
. Versuchen Sie es mitQ=neville(x,xi,@f2);
Auch, wennxi
ist ein Vektor, die Sie verwenden sollten, element-Weise Multiplikation (und heben Sie es auf die N-te power) mit einem Punkt (.
), bevor der Vorgang, sonst erscheint eine Fehlermeldung. d.h.,1/(1+xxx.^2)
.fi
?Ist xx eine Funktion? Da die syntax
xx(2)
ist ein Funktionsaufruf. Meinst duxx*2
?Edit: dein erstes Beispiel-code funktioniert gut für mich:
Drucke xx und dann das Ergebnis.
Edit2: und der code für f1: