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

Plotten einer unendlichen Summe mit 2 Variablen

 

k123456
Forum-Anfänger

Forum-Anfänger


Beiträge: 22
Anmeldedatum: 09.07.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.07.2018, 11:46     Titel: Plotten einer unendlichen Summe mit 2 Variablen
  Antworten mit Zitat      
Hallo Leute,

ich habe hier folgende Summe, die ich plotten möchte. Leider haben mir die Hilfe im Internet und die Forenbeiträge nicht sonderlich weitergeholfen. Nach zwei erfolglosen Tagen schlage ich nun diesen Weg über das Forum ein.

Code:
syms  n  ;
t = linspace(0, 10, 11)*10^(-3);
Y = 0.1;
x = length(n);
X0 = (2*Y).^(0.5) * (1-Y./12 + 11*Y.^2 ./ 1440);
Xn = (n*pi) + 2*Y ./(n*pi) ./ (n*pi).^3 ...
     + (16 ./(n*pi).^5 - 2 ./( 3*(n*pi).^3) *Y.^3)...
     + (-80./((n*pi).^7) + 16./(3*(n*pi).^5))*Y.^4 ;
An = 2*(-1).^n .* Xn.^2 .* (Xn.^2 + 2*Y + Y.^2).^(-1);
tau = z.^2 ./ alpha;
Term = An .* exp(-Xn.^2 + t./tau0);

AA = symsum (Term,n,0,Inf) ;

fplot(AA,t)


Vielen Dank im Voraus
k123456 Smile

[EDITED, Jan, Bitte Code-Umgebung verwenden - Danke!]
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.425
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 09.07.2018, 12:12     Titel:
  Antworten mit Zitat      
Hallo,

und wo genau liegt nun das Problem?
Ich bekomme beim Ausführen des Codes Fehler, dass z und tau0 nicht definiert sind. Daran wird es aber bei dir nicht liegen?

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.07.2018, 07:14     Titel:
  Antworten mit Zitat      
Hallo Harald,

z = 0.002 und tau0 = 0.04, habe ich wohl übersehen einzufügen.

Ich möchte die Funktion plotten, doch leider kommt folgende Fehlermeldung.

"Error using plot
Data must be numeric, datetime, duration or an array convertible to double.

Error in parker2 (line 51)
plot(AA,t)"

Mit double(AA) klappt es bei mir nicht.

Viele Grüße
k123456
 
ol1v3r
Forum-Anfänger

Forum-Anfänger


Beiträge: 27
Anmeldedatum: 06.07.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.07.2018, 14:43     Titel:
  Antworten mit Zitat      
Wie ist alpha definiert?
_________________

Viele Grüße
Ol1v3r
Smile
Private Nachricht senden Benutzer-Profile anzeigen
 
k123456
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 22
Anmeldedatum: 09.07.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.07.2018, 05:55     Titel:
  Antworten mit Zitat      
Alpha ist eine nur eine Konstante Smile

Gruß
k123456
Private Nachricht senden Benutzer-Profile anzeigen
 
k123456
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 22
Anmeldedatum: 09.07.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.07.2018, 06:41     Titel:
  Antworten mit Zitat      
als Ergebnis bekomme ich diesen Ausdruck, plotten kann ich ihn jedoch nicht Confused

AA =

[ 2*symsum(((-1)^n*exp(-(pi*n - 1/(1500*n^3*pi^3) + 1/(5*n^4*pi^4) + 30001/(1875*n^5*pi^5)...

Gruß
k123456
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.425
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 17.07.2018, 08:53     Titel:
  Antworten mit Zitat      
Hallo,

Zitat:
Alpha ist eine nur eine Konstante

Eine Konstante... welchen Datentyps?

Wenn du das in Abhängigkeit von t plotten willst, muss t symbolisch sein und bei fplot als Intervall angegeben werden. Bei n = 0 wird durch 0 dividiert, du kannst die Summe also erst bei 1 beginnen.

Code:
syms  n  ;
syms t % = linspace(0, 10, 11)*10^(-3);
z = 0.002
tau0 = 0.04
alpha = 1
Y = 0.1;
x = length(n);
X0 = (2*Y).^(0.5) * (1-Y./12 + 11*Y.^2 ./ 1440);
Xn = (n*pi) + 2*Y ./(n*pi) ./ (n*pi).^3 ...
     + (16 ./(n*pi).^5 - 2 ./( 3*(n*pi).^3) *Y.^3)...
     + (-80./((n*pi).^7) + 16./(3*(n*pi).^5))*Y.^4 ;
An = 2*(-1).^n .* Xn.^2 .* (Xn.^2 + 2*Y + Y.^2).^(-1);
tau = z.^2 ./ alpha;
Term = An .* exp(-Xn.^2 + t./tau0);

AA = symsum (Term,n,1,Inf) ;

fplot(AA,[0, 0.001])


Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
k123456
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 22
Anmeldedatum: 09.07.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.07.2018, 10:02     Titel:
  Antworten mit Zitat      
Hallo Harald,

vielen Dank für deine schnelle Hilfe. Das mit dem n > 0 habe ich nun auch herausgefunden, hätte aber die Fehlermeldung diesem Problem nicht zuordnen können.

Mir ist ein kleiner Fehler aufgefallen. Anstatt "exp(-Xn.^(2) + t./tau0)" muss es
"exp(-Xn.^(2) * t./tau0)" und schon plottet auch nichts mehr. Stattdessen bekomme ich folgende Fehlermeldung:

Warning: Error updating FunctionLine.
The following error was reported evaluating the function in FunctionLine update: DOUBLE cannot convert the input expression into
a double array.

Mit vpa klappt es leider bei mir nicht. Hast du noch einen Tipp, um dieses Problem zu lösen?

Gruß
k123456
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.