|
|
Variablen in For-Schleife erzeugen |
|
atze |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 04.12.2010, 20:14
Titel:
|
 |
ja da hab ich mich wohl unklar ausgedrückt.....
wie du schon richtig gesagt hast will ich in der folgenden schleife symbolisch nach den erzeugten variablen ableiten.
Mfg
|
|
|
|
|
dany2k3k |

Forum-Fortgeschrittener
|
 |
Beiträge: 66
|
 |
|
 |
Anmeldedatum: 02.02.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 05.12.2010, 00:28
Titel:
|
 |
|
 |
|
dazu brauchst du die Symbolic Math Toolbox, MAtlab kann von Haus aus KEIN symbolisches rechnen. Du benötigst für symbolische Variablen einen eigenen Datentyp, "sym"
"symbolische" variablen werden beispielsweise mit
syms x
syms blabla
syms keke
etc. erstellt.
um diese in der for-schleife dynamisch zu erstellen,würde beispielsweise
for i=1:7
eval(['syms x',int2str(i)])
end
das gewünschte Ergebnis liefern
vereinfacht gesagt,nimmt eval einen String, und interpretiert ihn als Befeh.
so erstellst du oben einen string 'syms x1' , syms x2 etc.-. die dann mit eval als befehl ausgeführt werden.
Weiters verwendet die symbolic math toolbox , so weit ich weiß, die maple befehle..
so sollte dann beispielsweise
diff(x1,x1) (leite x1,nach x2 ab)
das ergebnis 1 liefern
WOALLA
________________________
diff(x1,x1)
ans =
1
diff(x1,x2)
ans =
0
________________________
Du kannst nur nach variablen ableiten,die davor auch definiert wurden glaube ich., also mit syms..
Hier habe ich noch eine Einleitung in die symbolic math toolbox gefunden
http://www.esi.ac.at/~susanne/MatlabSkriptum.pdf , ab seite 37
Hoffe das hilft dir etwas.
LG: Daniel
|
|
|
atze |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 05.12.2010, 13:39
Titel:
|
 |
Hey dany,
danke für deine Antwort . Genau danach hab ich gesucht.
Nun hab ich aber noch das Problem das ich auf die Variablen über eine zweite Schleife zugreifen möchte und nicht einzeln x1,x2....eintippen möchte.
Ne idee wie ich das realisieren könnte?
Mfg
|
|
|
dany2k3k |

Forum-Fortgeschrittener
|
 |
Beiträge: 66
|
 |
|
 |
Anmeldedatum: 02.02.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 05.12.2010, 14:11
Titel:
|
 |
Hallo Atze,
das geht wieder genau so. du musst einfach einen String dynamisch erzeugen,und den mit eval als befehl ausführen lassen. hier ein minimalbeispiel
for i=1:10
eval(['syms x',int2str(i)]);
end
for i=1:10
for j=1:10
eval(['diff(x',int2str(i),',x',int2str(j),')'])
end
end
die erste schleife erzeugt einfach mal die variablen x1 bis x10. Die danach folgende doppelte for-schleife leitet x_i nach x_j ab.
mit komma kannst du einzelne stringfetzen zu einem gesamtstring zusammenbauen. jeder stringfetzen steht zwischen 2 hochkommas, eine serie von stringfetzen ergibt den gesamt string. achtung: bei int2str(i) brauchst du keine hochkommas links und rechts davon,da es sowieso schon als string erkannt wird.
Hoffe das obige Beispiel hilft dir etwas
LG
Daniel
|
|
|
atze |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 05.12.2010, 14:54
Titel:
|
 |
Hey daniel,
ich danke dir ist genau was ich gesucht habe.
Mfg
|
|
|
dany2k3k |

Forum-Fortgeschrittener
|
 |
Beiträge: 66
|
 |
|
 |
Anmeldedatum: 02.02.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 05.12.2010, 15:48
Titel:
|
 |
gern
btw..
falls du dann befehle brauchst,musst du nach maple befehle suchen,da die symbolic math toolbox im wesentlichen auf einem maple kern beruht
ich ändere dann mal den status auf beantwortet
LG
Daniel
|
|
|
|
Gehe zu Seite Zurück 1, 2
|
Einstellungen und Berechtigungen
|
|
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
| RSS
Hosted by:
Copyright © 2007 - 2025
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.
|
|