www.vorhilfe.de
Vorhilfe

Kostenlose Kommunikationsplattform für gegenseitige Hilfestellungen.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Vorhilfe
  Status Geisteswiss.
    Status Erdkunde
    Status Geschichte
    Status Jura
    Status Musik/Kunst
    Status Pädagogik
    Status Philosophie
    Status Politik/Wirtschaft
    Status Psychologie
    Status Religion
    Status Sozialwissenschaften
  Status Informatik
    Status Schule
    Status Hochschule
    Status Info-Training
    Status Wettbewerbe
    Status Praxis
    Status Internes IR
  Status Ingenieurwiss.
    Status Bauingenieurwesen
    Status Elektrotechnik
    Status Maschinenbau
    Status Materialwissenschaft
    Status Regelungstechnik
    Status Signaltheorie
    Status Sonstiges
    Status Technik
  Status Mathe
    Status Schulmathe
    Status Hochschulmathe
    Status Mathe-Vorkurse
    Status Mathe-Software
  Status Naturwiss.
    Status Astronomie
    Status Biologie
    Status Chemie
    Status Geowissenschaften
    Status Medizin
    Status Physik
    Status Sport
  Status Sonstiges / Diverses
  Status Sprachen
    Status Deutsch
    Status Englisch
    Status Französisch
    Status Griechisch
    Status Latein
    Status Russisch
    Status Spanisch
    Status Vorkurse
    Status Sonstiges (Sprachen)
  Status Neuerdings
  Status Internes VH
    Status Café VH
    Status Verbesserungen
    Status Benutzerbetreuung
    Status Plenum
    Status Datenbank-Forum
    Status Test-Forum
    Status Fragwürdige Inhalte
    Status VH e.V.

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:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
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.vorhilfe.de