2016-07-25 5 views
0

ich eine Frage habe, weil diese Arbeit für viele Funktionen, aber ich habe ein Problem, wenn das Integral einer Sinus zu plotten versuchen (ich benutze Matlab 2010):MATLAB-Offset, wenn die Integration der Sünde Plotten

clear all 
close all 
clc 

x = linspace(-10, 10, 100); 

f = @(x) sin(x); 

I = arrayfun(@(x) quad(f, 0, x), x); 
plot(x, f(x),'r', x, I, 'b') 

Ich erwarte ein -cos (x), aber stattdessen bekomme ich etwas mit einem Offset von 1, warum passiert das? Wie sollte dieses Problem behoben werden?

+0

Sie verwenden '0' als untere Integrationsgrenze. Also sollte das bestimmte Integral ("I") "0" bei * x * = "0" sein, was es ist. Welchen Offset findest du? –

+1

Ich glaube nicht, dass Ihr Code das tut, was Sie denken. – edwinksl

+0

Ja, ich habe meinen Fehler gefunden, meine untere Grenze ist einfach willkürlich. Es gibt keinen Offset und das Ergebnis ist, was erwartet wird.Aber ich wollte zum Beispiel, wenn ich f (x) = sin (x), plot f (x) und was ich bekomme, wenn ich f (x) unter Berücksichtigung der Integrationskonstante gleich 0 – dpalma

Antwort

4

Die Fundamental Theorem of Calculus sagt, dass die unbestimmte Integral eines nice functionf (x) für die Funktion des antiderivative F gleich (x), die einzigartig ist bis zu einer additiven Konstante. Ferner hat ein bestimmtes Integral die Form:

Fundamental Theorem of Calculus

In dieser Form wird die Integrationskonstante aufzuheben, und das Integral wird genau gleich das antiderivative nur dann, wenn die untere Schranke Auswertung gewünschte verschwindet. -cos(0) verschwindet jedoch nicht und hat einen Wert von -1. Um also die gewünschte Stammfunktion F (x) zu berechnen, sollte die Bewertung der unteren Grenze auf der rechten Seite hinzugefügt werden.

plot(x, f(x),'r', x, I+ (-cos(0)), 'b'); 

Dies ist das Äquivalent eines Anfangswertes für die Lösung von Differentialgleichungen a la ode45 zuweisen.

0

Nach Matlab Dokumentation q = quad(fun,a,b)

Quadrature ist ein numerisches Verfahren verwendet, um die Fläche unter der Kurve einer Funktion zu finden, ist, dass ein bestimmtes Integral zu berechnen.

Integral von sin (x) gleich -cos (x)

Bestimmtes Integral von sin(x) von x = pi zu x = 0:
-cos(pi) - (-cos(0)) = 2

Da quad ein bestimmtes Integral berechnen, kann ich nicht sehen irgendein Problem.

Gleiche wie:
figure;plot(-cos(x) - (-cos(0)))

+0

ja haben, haben Sie Recht Ich habe mit numerischen Beispielen getestet und das Ergebnis ist sinnvoll. Ich mache eine Hausaufgabe, in der es gefragt wird, das Integral einer Funktion und der Funktion zu zeichnen, aber das macht keinen Sinn, da das Integral vom Integrationsintervall abhängt, also ... ich denke, es gab überhaupt kein Problem, seit meinem untere Grenze war beliebig, in diesem Fall 0 – dpalma

+0

Vielen Dank für die Auffrischung meiner Erinnerung über bestimmte und unbestimmte Integrale. – Rotem

1

Was Sie versuchen können zu tun, mit dem folgenden erreicht:

x = linspace(-10, 10, 100); 

syms y; 
f = sin(y)  %function 

I =int(f,y) %integration of f 
plot(x, subs(f,y,x),'r', x, subs(I,y,x), 'b') 

Ausgang: -

output

+0

Ich denke du meinst "integral", das ist die numerische Version des Symbolischen 'int'. – TroyHaskin

+1

In der Tat. Ich werde jedoch feststellen, dass Integral in R2012a als moderner Integrator hinzugefügt wurde. In der R2010-Version des OPs glaube ich, dass 'quad' immer noch der Standard war. – TroyHaskin

Verwandte Themen