matheraum.de
Raum für Mathematik
Offene Informations- und Nachhilfegemeinschaft

Für Schüler, Studenten, Lehrer, Mathematik-Interessierte.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Mathe
  Status Schulmathe
    Status Primarstufe
    Status Mathe Klassen 5-7
    Status Mathe Klassen 8-10
    Status Oberstufenmathe
    Status Mathe-Wettbewerbe
    Status Sonstiges
  Status Hochschulmathe
    Status Uni-Analysis
    Status Uni-Lin. Algebra
    Status Algebra+Zahlentheo.
    Status Diskrete Mathematik
    Status Fachdidaktik
    Status Finanz+Versicherung
    Status Logik+Mengenlehre
    Status Numerik
    Status Uni-Stochastik
    Status Topologie+Geometrie
    Status Uni-Sonstiges
  Status Mathe-Vorkurse
    Status Organisatorisches
    Status Schule
    Status Universität
  Status Mathe-Software
    Status Derive
    Status DynaGeo
    Status FunkyPlot
    Status GeoGebra
    Status LaTeX
    Status Maple
    Status MathCad
    Status Mathematica
    Status Matlab
    Status Maxima
    Status MuPad
    Status Taschenrechner

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Dt. Schulen im Ausland: Mathe-Seiten:Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
StartseiteMatheForenMatlabNach Variable auflösen
Foren für weitere Studienfächer findest Du auf www.vorhilfe.de z.B. Astronomie • Medizin • Elektrotechnik • Maschinenbau • Bauingenieurwesen • Jura • Psychologie • Geowissenschaften
Forum "Matlab" - Nach Variable auflösen
Nach Variable auflösen < Matlab < Mathe-Software < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Matlab"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Nach Variable auflösen: Problem
Status: (Frage) reagiert/warte auf Reaktion Status 
Datum: 17:29 Fr 04.12.2009
Autor: Cspr

Hallo zusammen! :)

Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.

Ich habe ein kleines Problem in Matlab, da ich nicht weiß, wie ich eine Gleichung nach einer bestimmten Variable umstelle. Konkret sieht das Ganze bei mir so aus:

[mm]theta[2a12dest] = theta[2e12dest]+epsilon2dest*((theta[1a11dest]+T_e_dest)*(1/2)-theta[2e12_dest])[/mm]

In dieser Gleichung ersetze ich [mm]theta[1a11dest][/mm] durch

[mm]g11dest=subs(theta[2a12dest],theta[1a11dest],g10dest)[/mm]

In dieser Gleichung [mm]g10dest[/mm] taucht nochmal das [mm]theta[2a12dest][/mm] auf. Nun möchte ich eigentlich die erste Gleichung mit eingesetzem [mm]theta[1a11dest][/mm] nach  [mm]theta[2a12dest][/mm] auflösen.

Bisher habe ich es über den Befehl
[mm]g12dest=collect(g11dest,theta_2a12_dest);[/mm]
probiert. Das scheint allerdings nicht zu funktionieren, da er so wahrscheinlich nicht das "[mm]theta[2a12dest] =[/mm]" aus der ersten Gleichung mitnimmt. Bin leider bisher nur Maple gewöhnt und dort ging es etwas einfacher...
Herzlichen Dank im Voraus!

Mit freundlichen Grüßen
Christoph :)




        
Bezug
Nach Variable auflösen: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 16:14 So 06.12.2009
Autor: Frasier

Hallo Christoph,

das sieht ja grausig aus; könntest du das mal in reiner Textform schreiben?
Am besten das Programm direkt aus Matlab kopieren.

lg
F.

Bezug
                
Bezug
Nach Variable auflösen: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 11:52 Mo 07.12.2009
Autor: Cspr

Das kann ich sehr gerne tun :) Die Namen der Variablen sind immer recht kompliziert gewählt, weil es sonst schwer ist, diese zu unterscheiden bzw. zuordnen zu können.

g10dest = (theta_1a10_dest+T_ e_dest)*(1/2)-epsilon1_dest*((theta_1a10_dest+T_ e_dest)*(1/2)-theta_2a12_dest);
theta_2a12_dest = theta_2e12_dest + epsilon2_dest*((theta_1a11_dest +  T_ e_dest) * (1/2)-theta_2e12_dest);
g11dest=subs(theta_2a12_dest,theta_1a11_dest,g10dest);
g12dest=collect(g11dest,theta_2a12_dest);



Ich denke mein Fehler liegt darin, dass ich bei den Gleichungen auf der linken Seite des Gleichheitszeichen immer neue "Werte" eintrage, sodass er im Endeffekt nicht nach theta_2a12_dest) auflösen kann.

Zum Abschluss nochmal der komplette Auszug aus meinem kleinen Programm(kann man mit Sicherheit intelligenter lösen, aber ich arbeite noch nicht so lange mit Matlab)

syms g1a1dest g1a2dest g1a3dest g1a4dest g1a5dest g1a6dest g1a7dest g1a8dest g1a9dest g1a10dest g1a11dest g1a12dest
syms theta_1a1_dest theta_1a2_dest theta_1a3_dest theta_1a4_dest theta_1a5_dest theta_1a6_dest theta_1a7_dest theta_1a8_dest theta_1a9_dest theta_1a10_dest theta_1a11_dest theta_1a12_dest
syms theta_2a2_dest theta_2a3_dest theta_2a4_dest theta_2a5_dest theta_2a6_dest theta_2a7_dest theta_2a8_dest theta_2a9_dest theta_2a10_dest theta_2a11_dest theta_2a12_dest

theta_1a1_dest = theta_1e1_dest-epsilon1_dest(:,1) * (theta_1e1_dest-theta_2a2_dest);
g1a2dest = (theta_1a1_dest+T_ e_dest(:,2)) * (1/2)-epsilon1_dest(:,2)*((theta_1a1_dest+T_ e_dest(:,2))*(1/2)-theta_2a3_dest);
g1a3dest = (theta_1a2_dest + T_ e_dest(:,3))*(1/2)-epsilon1_dest(:,3)*((theta_1a2_dest+T_ e_dest(:,3))*(1/2)-theta_2a4_dest);
g1a4dest = (theta_1a3_dest+T_ e_dest(:,4))*(1/2)-epsilon1_dest(:,4)*((theta_1a3_dest+T_ e_dest(:,4))*(1/2)-theta_2a5_dest);
g1a5dest = (theta_1a4_dest+T_ e_dest(:,5))*(1/2)-epsilon1_dest(:,5)*((theta_1a4_dest+T_ e_dest(:,5))*(1/2)-theta_2a6_dest);
g1a6dest = (theta_1a5_dest+T_ e_dest(:,6))*(1/2)-epsilon1_dest(:,6)*((theta_1a5_dest+T_ e_dest(:,6))*(1/2)-theta_2a7_dest);
g1a7dest = (theta_1a6_dest+T_ e_dest(:,7))*(1/2)-epsilon1_dest(:,7)*((theta_1a6_dest+T_ e_dest(:,7))*(1/2)-theta_2a8_dest);
g1a8dest = (theta_1a7_dest+T_ e_dest(:,8))*(1/2)-epsilon1_dest(:,8)*((theta_1a7_dest+T_ e_dest(:,8))*(1/2)-theta_2a9_dest);
g1a9dest = (theta_1a8_dest+T_ e_dest(:,9))*(1/2)-epsilon1_dest(:,9)*((theta_1a8_dest+T_ e_dest(:,9))*(1/2)-theta_2a10_dest);
g1a10dest = (theta_1a9_dest+T_ e_dest(:,10))*(1/2)-epsilon1_dest(:,10)*((theta_1a9_dest+T_ e_dest(:,10))*(1/2)-theta_2a11_dest);
g1a11dest = (theta_1a10_dest+T_ e_dest(:,11))*(1/2)-epsilon1_dest(:,11)*((theta_1a10_dest+T_ e_dest(:,11))*(1/2)-theta_2a12_dest);
g1a12dest = (theta_1a11_dest+T_ e_dest(:,12))*(1/2)-epsilon1_dest(:,12)*((theta_1a11_dest+T_ e_dest(:,12))*(1/2)-theta_2e12_dest);

g1dest=subs(g1a2dest,theta_1a1_dest,theta_1a1_dest);
g2dest=subs(g1a3dest,theta_1a2_dest,g1dest);
g3dest=subs(g1a4dest,theta_1a3_dest,g2dest);
g4dest=subs(g1a5dest,theta_1a4_dest,g3dest);
g5dest=subs(g1a6dest,theta_1a5_dest,g4dest);
g6dest=subs(g1a7dest,theta_1a6_dest,g5dest);
g7dest=subs(g1a8dest,theta_1a7_dest,g6dest);
g8dest=subs(g1a9dest,theta_1a8_dest,g7dest);
g9dest=subs(g1a10dest,theta_1a9_dest,g8dest);
g10dest=subs(g1a11dest,theta_1a10_dest,g9dest);



theta_2a1_dest = theta_2a2_dest+epsilon2_dest(:,1)*(theta_1e1_dest-theta_2a2_dest);
theta_2a2_dest = theta_2a3_dest+epsilon2_dest(:,2)*((theta_1a1_dest+T_ e_dest(:,2))*(1/2)-theta_2a3_dest);
theta_2a3_dest = theta_2a4_dest+epsilon2_dest(:,3)*((theta_1a2_dest+T_ e_dest(:,3))*(1/2)-theta_2a4_dest);
theta_2a4_dest = theta_2a5_dest+epsilon2_dest(:,4)*((theta_1a3_dest+T_ e_dest(:,4))*(1/2)-theta_2a5_dest);
theta_2a5_dest = theta_2a6_dest+epsilon2_dest(:,5)*((theta_1a4_dest+T_ e_dest(:,5))*(1/2)-theta_2a6_dest);
theta_2a6_dest = theta_2a7_dest+epsilon2_dest(:,6)*((theta_1a5_dest+T_ e_dest(:,6))*(1/2)-theta_2a7_dest);
theta_2a7_dest = theta_2a8_dest+epsilon2_dest(:,7)*((theta_1a6_dest+T_ e_dest(:,7))*(1/2)-theta_2a8_dest);
theta_2a8_dest = theta_2a9_dest+epsilon2_dest(:,8)*((theta_1a7_dest+T_ e_dest(:,8))*(1/2)-theta_2a9_dest);
theta_2a9_dest = theta_2a10_dest+epsilon2_dest(:,9)*((theta_1a8_dest+T_ e_dest(:,9))*(1/2)-theta_2a10_dest);
theta_2a10_dest = theta_2a11_dest+epsilon2_dest(:,10)*((theta_1a9_dest+T_ e_dest(:,10))*(1/2)-theta_2a11_dest);
theta_2a11_dest = theta_2a12_dest+epsilon2_dest(:,11)*((theta_1a10_dest+T_ e_dest(:,11))*(1/2)-theta_2a12_dest);
theta_2a12_dest = theta_2e12_dest+epsilon2_dest(:,12)*((theta_1a11_dest+T_ e_dest(:,12))*(1/2)-theta_2e12_dest);


g11dest=subs(theta_2a12_dest,theta_1a11_dest,g10dest);
g12dest=collect(g11dest,theta_2a12_dest);
g13dest=subs(theta_2a11_dest,{theta_2a12_dest,theta_1a10_dest},{g12dest,g9dest});
g14dest=collect(g13dest,theta_2a11_dest);
g15dest=subs(theta_2a10_dest,{theta_2a11_dest,theta_1a9_dest},{g14dest,g8dest});
g16dest=collect(g15dest,theta_2a10_dest);
g17dest=subs(theta_2a9_dest,{theta_2a10_dest,theta_1a8_dest},{g16dest,g7dest});
g18dest=collect(g17dest,theta_2a9_dest);
g19dest=subs(theta_2a8_dest,{theta_2a9_dest,theta_1a7_dest},{g18dest,g6dest});
g20dest=collect(g19dest,theta_2a8_dest);
g21dest=subs(theta_2a7_dest,{theta_2a8_dest,theta_1a6_dest},{g20dest,g5dest});
g22dest=collect(g21dest,theta_2a7_dest);
g23dest=subs(theta_2a6_dest,{theta_2a7_dest,theta_1a5_dest},{g22dest,g4dest});
g24dest=collect(g23dest,theta_2a6_dest);
g25dest=subs(theta_2a5_dest,{theta_2a6_dest,theta_1a4_dest},{g24dest,g3dest});
g26dest=collect(g25dest,theta_2a5_dest);
g27dest=subs(theta_2a4_dest,{theta_2a5_dest,theta_1a3_dest},{g26dest,g2dest});
g28dest=collect(g27dest,theta_2a4_dest);
g29dest=subs(theta_2a3_dest,{theta_2a4_dest,theta_1a2_dest},{g28dest,g1dest});
g30dest=collect(g29dest,theta_2a3_dest);
g31dest=subs(theta_2a2_dest,{theta_2a3_dest,theta_1a1_dest},{g30dest,g1a1dest});
g32dest=collect(g31dest,theta_2a2_dest);
g33dest=subs(theta_2a1_dest,theta_2a2_dest,g32dest);
g34dest=collect(g33dest,theta_2a1_dest);


Hier entspricht  g1a11dest der Gleichungen g10dest, was aber an dem Problem nichts ändert :)
Sieht sehr wüst aus, ist aber von der Mathematik her eigentlich recht simpel.
Danke einmal mehr!
Christoph :)





Bezug
                        
Bezug
Nach Variable auflösen: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 15:43 Mo 07.12.2009
Autor: Frasier

Hallo Thomas,
das kann ich noch nicht ausführen, das sind irgendwo Leerzeichen zu viel und es fehlen mir Variablen.
Aber suchst du zum Umstellen einer Gleichung nach einer Variable vielleicht das solve-Kommando?
Beispiel:
1: syms x y z;
2: gl1='2*x-3*y^2-5*z^3=pi'
3: xs=solve(gl1,'x')
4: test=subs(gl1,x,xs)


lg
F.

Bezug
                                
Bezug
Nach Variable auflösen: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 16:31 Mo 07.12.2009
Autor: Cspr

Das hat im Endeffekt geklappt ja! :)
Hatte beim eigenen Rumprobieren mit solve wohl etwas falsch eingegeben! Nun muss ich nurnoch rausfinden, wie ich vernünftig mit der Optimization Toolbox umgehe!

Herzlichen Dank!

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Matlab"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.matheraum.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]