WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Integral durch Potenzreihenentwicklung bestimmen

 

Ovid
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 81
Anmeldedatum: 25.06.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.10.2011, 16:42     Titel: Integral durch Potenzreihenentwicklung bestimmen
  Antworten mit Zitat      
Hallo, Leute!

Ich hab mal wieder ein Problem:

Ich soll den Wert des folgenden Integrals durch Potenzreihenentwicklung des Integranden bestimmen und anschließend gliedweise auf 6 Dezimalstellen nach dem Komma integrieren.
Dabei soll ich beim ersten Glied der Potenzreihe beginnen, das integrieren und das Ergebnis ausdrucken. Dann für jedes zusätzliche Glied das Ergebnis ausdrucken bis ich die Genauigkeit erreicht habe.

Hier die Aufgabe:


<br />
\int_a^b \! cos(\sqrt{x})  \, dx , a=0  und  b=0,5
<br />

Ich hab bei Matlab die Aufgabe so eingegeben, aber er zeigt mir cos(sqrt(x)) nicht als Potenzreihe an, sondern als Summe einer komplexen e-Funktion.

1. Gibt es bei Matlab einen Befehl, mit dem ich das Ergebnis als Potenzreihe darstellen kann?

2. Und wie kann ich gliedweise integrieren und das Ergebnis anzeigen lassen?

3. Und wie stelle ich dann das mit einer Genauigkeit ein?

Hier was ich bisher erreicht habe...:

Code:

symsum(cos(sqrt(n)),1,inf)
 


Das gibt er mir aus:

Code:

ans =
 
sum(exp(i*n^(1/2)), n = 1..Inf)/2 + sum(1/exp(i*n^(1/2)), n = 1..Inf)/2
 


Ich hoffe ihr könnt mir helfen... Crying or Very sad

freundliche Grüße

Ovid
Private Nachricht senden Benutzer-Profile anzeigen


Thomas84
Forum-Meister

Forum-Meister


Beiträge: 546
Anmeldedatum: 10.02.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 31.10.2011, 15:40     Titel:
  Antworten mit Zitat      
Code:

doc taylor % potenzreihenentwicklung
doc int % symbolisch integrieren
doc quad % numerisch integrieren
Private Nachricht senden Benutzer-Profile anzeigen
 
Ovid
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 81
Anmeldedatum: 25.06.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 31.10.2011, 17:57     Titel:
  Antworten mit Zitat      
Also mit der Hilfe von Matlab komme ich nicht klar... Sad
Welchen Ausdruck von Taylor benötige ich denn jetzt??

Oder reicht einfach "taylor(cos(sqrt(x)))" aus?

Und wenn ich dann das Ergebnis via "int('ans',0,0.5)" integrieren tu, dann kommt ein falsches Ergebnis raus.

statt 0,4393 kommt 1/8 raus.....

was mach ich da falsch? und wie kann ich das gliedweise integrieren und mir anzeigen lassen?
Private Nachricht senden Benutzer-Profile anzeigen
 
Ovid
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 81
Anmeldedatum: 25.06.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 31.10.2011, 18:52     Titel:
  Antworten mit Zitat      
Also, hab jetzt mal etwas probiert und komme auf folgendes:

[code][code][/code]
syms n x
digits(6)
f = cos(sqrt(x))
[/code]

Nachdem ich jetzt mit dem Befehl "taylor" und "int" die Funktion eingebe:

[code]
taylor(f,6)
int(ans,0,0.5)
[/code]

kommt das ergebnis plötzlich richtig heraus...

Allerdings wie kann ich das jetzt gliedweise integrieren und anzeigen lassen?

Hab das mit dem versucht:

[code]
for i=1; i=6;
taylor(f,i)
i = i+1;
end
[/code]

und dann mit:

[code]
int(f(i),0,0.5)
[/code]

allerdings kommt hier immer ein Fehler, da i nur der Zähler für die Taylor-Terme ist und ich diese Terme nicht direkt aufrufen kann.

Wie muss ich das verändern, ich komm da grad echt nicht weiter...
Private Nachricht senden Benutzer-Profile anzeigen
 
Thomas84
Forum-Meister

Forum-Meister


Beiträge: 546
Anmeldedatum: 10.02.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.11.2011, 07:07     Titel:
  Antworten mit Zitat      
Code:

syms n x
digits(6)
f = cos(sqrt(x))

for k = 1:6
pr{k} =  taylor(f,k);
integral_tot(k) = double(int(pr{k},0,0.5));
end

integral = [integral_tot(1),diff(integral_tot)]

 


Du hast es doch schon fast. Bestimme einfach am Ende die Differenz der einzelnen Integrationen.


Schleifen werden in Matlab übrigens anders geschrieben.
Private Nachricht senden Benutzer-Profile anzeigen
 
Bike
Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 29.05.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.06.2013, 14:55     Titel:
  Antworten mit Zitat      
hallo,
eine frage zu dem Thema,
was macht pr{k}?

mfg
Private Nachricht senden Benutzer-Profile anzeigen
 
Thomas84
Forum-Meister

Forum-Meister


Beiträge: 546
Anmeldedatum: 10.02.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.06.2013, 13:40     Titel:
  Antworten mit Zitat      
pr ist in dem obigen Code ein cell array mit symbolischen Ausdrücken. Als solches macht es relativ wenig. Man kann es aber Funktionen übergeben die damit eine Berechnung durchführen. Wie du siehst ist mir nicht ganz klar was du eigentlich wissen willst.

viele Grüße
Thomas
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.