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

solver für Maple Gleichung

 

Cappuccino90
Forum-Anfänger

Forum-Anfänger


Beiträge: 19
Anmeldedatum: 07.10.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.10.2015, 23:58     Titel: solver für Maple Gleichung
  Antworten mit Zitat      
Hallo,

ich habe seit kurzem Matlab und habe mich gefragt, ob es möglich ist, folgende komplexe Gleichung in Matlab lösen zu lassen:

rsolve({T(1)=1, T(2*n)=2*T(n)+(2*n)^2*b},T);

Das ist der Code aus Maple.

Über Hilfe bin ich sehr dankbar!

Gruß
Private Nachricht senden Benutzer-Profile anzeigen


Epfi
Forum-Meister

Forum-Meister



Beiträge: 1.134
Anmeldedatum: 08.01.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.10.2015, 09:47     Titel:
  Antworten mit Zitat      
Könnte gehen. Hast Du mal die Doku zu solve gelesen?

EDIT: "Ja, geht" weggemacht, weil ich gerade nochmal mit Brille hingeschaut habe...
Private Nachricht senden Benutzer-Profile anzeigen
 
Cappuccino90
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 19
Anmeldedatum: 07.10.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.10.2015, 11:55     Titel:
  Antworten mit Zitat      
Mist, als du "Ja, geht" noch dort stehen hattest, war ich voller Hoffnung.

Ja die Doku hab ich mir schon angeschaut und auch viel mit rumgespielt. Bisher erfolglos :/
Private Nachricht senden Benutzer-Profile anzeigen
 
Epfi
Forum-Meister

Forum-Meister



Beiträge: 1.134
Anmeldedatum: 08.01.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.10.2015, 18:06     Titel:
  Antworten mit Zitat      
Bin mit der Maple-Syntax nicht vertraut. Du willst die Gleichung nach T auflösen, oder?

EDIT: ich sollte meine Brille dauerhaft tragen. T ist ja eine Funktion. Ich glaube nicht, dass Du die mit solve finden kannst. Grundsätzlich ist das ja ein echt schwieriges Problem, weil T ja jede beliebige Form haben kann. Ohne irgendeine Art von Eingrenzung kann ich mir nur schwer vorstellen, dass das Problem in endlicher Zeit lösbar ist. Die Chance, dass es nicht nur eine, sondern 2...unendlich viele Lösungen gibt, ist ja auch noch gegeben...

EDIT2: Für n=0 und beliebigen Parameter b ist das ganze für jede Funktion, die T(1) = 1 und T(0) = 0 erfüllt. Zum Beispiel T(x) = x^3. Oder T(x) = sin(x)/sin(1). Damit hättest Du ne Menge (unendlich viele) Lösungen für T(x) und auch gleich noch einen Hinweis darauf, dass es für ein Programm schwierig sein dürfte, Dir eine Lösung auszuspucken.
Private Nachricht senden Benutzer-Profile anzeigen
 
Cappuccino90
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 19
Anmeldedatum: 07.10.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.10.2015, 06:13     Titel:
  Antworten mit Zitat      
Wolfram Alpha schafft es irgendwie :/ Aber ich habe keine Ahnung wie.

Und Maple kann es auch und liefert folgendes Ergebnis:

n + 2*(n^2)*b - 􀀀 2*n*b
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 10.10.2015, 10:27     Titel:
  Antworten mit Zitat      
Hallo,

am ehesten könnte das helfen:
http://de.mathworks.com/help/symbolic/mupad_ref/rec.html

Allerdings sind da nur Verschiebungen von n zulässig.

Die Gleichung wirkt auf mich "komisch". Wie ist denn z.B. T(3) definiert?

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Epfi
Forum-Meister

Forum-Meister



Beiträge: 1.134
Anmeldedatum: 08.01.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.10.2015, 10:31     Titel:
  Antworten mit Zitat      
Jetzt hab ich es auch verstanden...

@Harald: so:
Code:
T = @(n) n.*(2*b*n - 2*b + 1)
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 10.10.2015, 10:38     Titel:
  Antworten mit Zitat      
Hallo,

und wie kommst du auf die Formel?

Ich kann nur erkennen, wie sich T(2) aus T(1), T(4) aus T(2) etc. ergibt. Ich sehe keinen Anhaltspunkt für eine Definition von T(3). Man kann höchstens, wenn ein geschlossener Ausdruck für T(2^k) gefunden wurde, diesen auch auf andere n anwenden. Ob das dann sinnvoll ist, ist die andere Frage.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Epfi
Forum-Meister

Forum-Meister



Beiträge: 1.134
Anmeldedatum: 08.01.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.10.2015, 10:51     Titel:
  Antworten mit Zitat      
Ja, wie man da drauf kommt, ist eine gute Frage. Leider spuckt Wolfram Alpha ausgerechnet dazu keinen Lösungsweg aus. Tatsächlich ist die angegebene Funktion aber eine Lösung für die eingangs gegebene Gleichung.
Private Nachricht senden Benutzer-Profile anzeigen
 
Cappuccino90
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 19
Anmeldedatum: 07.10.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.10.2015, 11:25     Titel: Weitere Hinweise
  Antworten mit Zitat      
Arg viel mehr Informationen habe ich leider auch nicht. Ich stehe noch am Anfang von Algorithmen und weiß noch nicht wie sich so ein Algorithmus genau definiert oder zusammensetzt. Was eventuell noch wichtig sein könnte, ist, dass die Formel eine Rekursionsgleichung sein soll. Mit dem rec Befehl und den solve Befehl habe ich in Matlab schon rumgespielt und mir die Dokumentation durchgelesen. Leider ohne Endergebnis. Sah aber Stellenweise vielversprechend aus. Vielleicht hab ich nur den Syntax verpfuscht.

Auf folgender Seite habe ich z.B. die Konvertierung von Maple zu Matlab händisch versucht:

https://www.maplesoft.com/support/h.....ath=CodeGeneration/Matlab


Zitat:
Translate a computation sequence. Optimize the input first.
>
cs:=[s=1.0+x,t=ln(s)e−x,r=e−x+xt]:
>
Matlab(cs,optimize)
s = 0.10e1 + x;
t1 = log(s);
t2 = exp(-x);
t = t1 * t2;
r = x * t + t2;
Declare that x is a float and y is an integer. Return the result in a string.
>
s:=Matlab(x+y+1,declare=[x::float,y::integer],output=string)
s:="cg = x + y + 0.1e1;"
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 10.10.2015, 11:49     Titel:
  Antworten mit Zitat      
Hallo,

Zitat:
Was eventuell noch wichtig sein könnte, ist, dass die Formel eine Rekursionsgleichung sein soll.

Das ist sogar sehr wichtig, wenn man es nicht ohnehin erkennt.

Zitat:
Mit dem rec Befehl und den solve Befehl habe ich in Matlab schon rumgespielt

Schreib das doch bitte gleich am Anfang. Es bringt doch nichts, wenn wir nach Befehlen suchen, die du schon gefunden hast, oder Befehle versuchen, die du schon versucht hast?

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

Forum-Anfänger

Forum-Anfänger


Beiträge: 19
Anmeldedatum: 07.10.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.10.2015, 11:53     Titel:
  Antworten mit Zitat      
Entschuldige bitte, ich werde es das nächste Mal direkt mitteilen.
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.