2017-05-31 3 views
0

ich eine Funktion F zu integrieren versuche, die wie folgt definiert ist:Integral weise definierte Funktion Matlab

function F   
    x = -3:0.1:3; 
    F = zeros(1, length(x)); 
    for i = 1:length(x) 
     if (1.4<= x(i)) && (x(i) <= 1.6) 
      F(i) = x(i).^2; 
     else 
      F(i) = 2; 
     end 
    end 
end 

aber die integral Funktion gibt mir eine Fehlermeldung, dass es zu viele Argumente. Ich denke das Problem, dass die Funktion als Punkte definiert ist?

+4

Bitte, für den Shake von uns allen, diesen Code richtig einrücken. Zeigen Sie uns auch den Code, der Fehler enthält. Sie verstehen im Wesentlichen nicht, wie man Integral nennt. Eine Funktion hat etwas von der Form 'f (x)', Ihr F hat keine Eingaben. Sie sollten 'x' nicht definieren, sonst' F' ist ein Array, keine Funktion. –

+0

Das Problem ist mit der Zeile, wo Sie die 'Integral'-Funktion aufrufen, zeigen Sie uns * diese * Zeile Ihres Codes auch! – Wolfie

+0

Ich rufe die int Funktion wie Integral (F, 0,1) und ich bekomme den Fehler Fehler bei der Verwendung von F Zu viele Argumente für die Ausgabe. wie Sie sagten, ich denke, meine Funktion F ist ein Array, wenn das das Problem so wie könnte ich F als eine Funktion definieren? – Imran

Antwort

0

Das Problem mit Ihrer Funktion ist, dass integral keine Möglichkeit hat, die Argumente zu übergeben, die Sie an Ihre Funktion F übergeben. Die Funktion weiß nicht, dass sie bestimmte Elemente nur aus dem Vektor ziehen kann, den Sie erstellt haben. Wenn Sie Ihre Funktion so schreiben, dass für eine Eingabe (oder einen x-Wert) die Ausgabe von F zurückgegeben wird, dann wird integral funktionieren, wenn Sie zwei Werte für die Integration benötigen.

Verwandte Themen