|
|
Ausgabe von for schleife in einem matrix or vektor speichern |
|
mperle |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 18.10.2012, 12:13
Titel: Ausgabe von for schleife in einem matrix or vektor speichern
|
 |
|
 |
|
Hallo zusammen,
bin eine Anfängerin bei MATLAB.
Ich brauche eure Hilfe!
In einer Schleife will ich einfach eine Gleichung berechnen lassen.
Wie könnte ich alle Ergebnisse z.B. in einer Matrix od Vektore speichern??
ich versuche es natürlich wie ich es kenne! aber es spuckt mir nur das ergebnis der letzten zeile aus.
ich brauche aber die Ergebnisse als Matrix um wieder abzurufen.
[code]%da ist mein Programm:
%Ansatzfaktoren für ein 8-knotige Hexal an zu rechnen
e=[-1 -1 -1;
1 -1 -1;
1 1 -1;
-1 1 -1;
-1 -1 1;
1 -1 1;
1 1 1;
-1 1 1];
%e1=-1;
%e2=-1;
%e3=1;
syms e1;
syms e2;
syms e3;
%N=zeros( ;
N=[];
dN1=[];dN2=[];dN3=[];% N;1 und N;2 und N;3
count=1;
for n=1:8
en1=e(n,1);
en2=e(n,2);
en3=e(n,3);
Nn1=1/2*(1+en1*e1); Nn2=1/2*(1+en2*e2);Nn3=1/2*(1+en3*e3);%Nn1 und Nn2 und Nn3 sind eindimensionalen Ansatzfunktionen
N= Nn1*Nn2*Nn3;
N
dN1=diff(N,e1);
dN2=diff(N,e2);
dN3=diff(N,e3);
dN1(count)=dN1
dN2(count)=dN2
dN3(count)=dN3
end
count=count+1;
|
|
|
|
|
evil2106 |

Forum-Anfänger
|
 |
Beiträge: 31
|
 |
|
 |
Anmeldedatum: 11.10.12
|
 |
|
 |
Wohnort: Rostock
|
 |
|
 |
Version: 2012b
|
 |
|
|
 |
|
Verfasst am: 18.10.2012, 20:25
Titel:
|
 |
Hallo,
in dem du eine Variable erstellst, die mit der Schleife wächst. Du machst es ja bei
Dein Problem ist, dass count nicht in der Schleife hochgesetzt wird, sondern ausßerhalb der for-Schleife (das "end" schließt die Schleife). Du brauchst übrigens keine count Variable. Verwende stattdessen n, also deine Zählvariable. Übrigens denke ich, kommst du auch ohne Schleife zurecht durch Indexing.
Christof
|
|
|
mperle |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 18.10.2012, 21:11
Titel:
|
 |
Hallo,
Danke erst mal wegen des Antwort.
wenn ich dich richtig verstehe, du meinst ich count weg lassen soll und stattdessen mein N und dN s mit (n) abrufen soll??
wenn ich count weg lasse, kommen keine richtige ergebnisse heraus. ich habe deswegen count dazu geshrieben und wenn ich meine code so ändere.
kommen 8 mal verschiedene Matrizen für N auch dN(1,2,3)raus, die von 1X2 anfängt, bis 1X8. aber immer noch keine richtige Antwort.
über anstatt for-schleife indexing habe ich es nicht genau verstanden.
|
|
|
evil2106 |

Forum-Anfänger
|
 |
Beiträge: 31
|
 |
|
 |
Anmeldedatum: 11.10.12
|
 |
|
 |
Wohnort: Rostock
|
 |
|
 |
Version: 2012b
|
 |
|
|
 |
|
Verfasst am: 19.10.2012, 07:31
Titel:
|
 |
Hallo,
das ist dein Ausgangscode. Gestern habe ich das gar nicht richtig gesehen. Wenn du
machst und später
dann wird bei jedem Durchlauf dN1 überschrieben. Dann ist es ja auch kein Wunder, wenn du keinen Vektor mit 8 Zeilen/Spalten herausbekommst.
Nochmals: Du kannst count weglassen und dafür die Zählvariable n verwenden. Dann aber auch in der Zuweisung am Ende. Des Weiteren darfst du dN1 nicht so verwalten, wie du es bisher machst. Schau dir deine Zuweisungen alle nochmal an und überleg, ob es so Sinn macht.
Über Indexing kannst du dir eigentlich viele Sachen einfacher machen, z.B. auch so manche for-Schleife ersetzen.
Die erste disp() Anweisung und die for-Schleife leifern das gleiche Ergebnis.
Viele Grüße,
Christof.
|
|
|
|
|
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.
|
|