|
|
Matrix füllen mit zwei for-Schleifen. Parametervariation |
|
DaveXY |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 05.03.2021, 11:14
Titel: Matrix füllen mit zwei for-Schleifen. Parametervariation
|
|
Hallo,
ich habe ein Problem beim Füllen einer Matrix mittels einer for-Schleife. Ich habe in anderen Threads leider nur ähnliche Probleme entdeckt, deren Lösung mir leider nicht weitergeholfen hat.
Und zwar sollen zwei Parameter variiert und jeweils daraus ein dritter Wert berechnet werden, den ich in der besagten Matrix abspeichern möchte.
hier dazu die relevanten Teile des Codes:
Ich möchte in den Zeile den Parameter d und in den Spalten k variieren. Die Werte steps_damp und steps_stif geben die Anzahl der variierten Werte eines Parameters an.
Die Dimension muss dann logischerweise steps_damp x steps_stif ergeben, was allerdings nicht der Fall ist.
Viele Grüße
David
|
|
|
|
|
Mmmartina |
Forum-Meister
|
|
Beiträge: 745
|
|
|
|
Anmeldedatum: 30.10.12
|
|
|
|
Wohnort: hier
|
|
|
|
Version: R2020a
|
|
|
|
|
|
Verfasst am: 05.03.2021, 11:41
Titel:
|
|
Dann gib doch bitte mal an, wie groß steps_damp und steps_stif sein sollen.
Wenn du d und k jeweils in 100er-Schritten von 0-1000 laufen läßt, erhält man einen Vektor mit 11 Werten. Somit müssten deine beiden Werte steps_damp und steps_stif jeweils auch 11 sein.
Wenn nein, hast du vermutlich die Schrittweite falsch gewählt.
_________________
LG
Martina
"Wenn wir bedenken, daß wir alle verrückt sind, ist das Leben erklärt." (Mark Twain))
|
|
|
DaveXY |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 05.03.2021, 11:52
Titel:
|
|
Je nach dem in welchem Bereich ich d und k variieren möchte, berechne ich es so:
Für diese Werte kommt statt der Dimension 1x50, 10x50 heraus.
Die Werte eben, hatte ich nur als Beispiel eingesetzt. In dem Workspace habe ich überprüft, ob step_damp und step_stif die richtigen Werte haben.
|
|
|
Mmmartina |
Forum-Meister
|
|
Beiträge: 745
|
|
|
|
Anmeldedatum: 30.10.12
|
|
|
|
Wohnort: hier
|
|
|
|
Version: R2020a
|
|
|
|
|
|
Verfasst am: 05.03.2021, 14:29
Titel:
|
|
Zitat: |
Für diese Werte kommt statt der Dimension 1x50, 10x50 heraus. |
Du initialisierst aber doch aver_ampl mit 10x50 ?
D.h. das muss so!?
Oder geht es dir um das ansprechen der richtigen Zelle der Matrix innerhalb der Funktion?
Denn im oberen Beispiel hast du nur die Zeile mir j angesprochen und alle Elemente über die Spalten mit dem gleichen Wert belegt.
Wie soll das Ergebnis aussehen?
Was weicht davon ab?
_________________
LG
Martina
"Wenn wir bedenken, daß wir alle verrückt sind, ist das Leben erklärt." (Mark Twain))
|
|
|
DaveXY |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 05.03.2021, 17:24
Titel:
|
|
|
|
|
Hallo,
ich habe das Problem wahrscheinlich falsch formuliert. Herausbekommen möchte ich keine Matrix, die an der Stelle i,j die Amplitude für die Dämpfung i und die Steifigkeit j enthält. Da ich nur einen Bereich der Beiden Parameter später plotten möchte. Stattdessen soll in der i-ten Zeile, die Amplitude für den Dämpfungswert (Anfangsdämpfung+ i*Schrittweite_damp), mit den spaltenweise variierten Steifigkeiten (Anfangssteifigkeit +j*Schrittweite_stif) berechnen.
Ich habe es jetzt wie folgt gelöst. Der Einfachheit halber, ist Anzahl von Steifigkeiten und Dämpfungen identisch und die Matrix damit symmetrisch.
In den Variablen Vari_d(j) und Vari_k(j) möchte ich die Dämpfungen und Steifigkeiten speichern, für die in der Matrix der Berechnete Wert average_ampl steht.
Die Matrix sieht jetzt damit richtig aus. Der Fehler lag wie du vermutet hast daran, dass ich in alle Spalten die gleichen Werte gespeichert habe.
Das letzte Problem, das ich noch habe ist, dass die Variable Vari_k(j), immer den selben Wert enthält, statt in jeder Zeile einmal die Schrittweite_stif dazu zu addieren.
|
|
|
DaveXY |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 05.03.2021, 17:26
Titel:
|
|
DaveXY hat Folgendes geschrieben: |
Herausbekommen möchte ich keine Matrix, die an der Stelle i,j die Amplitude für die Dämpfung i und die Steifigkeit j enthält. |
Sorry, es soll eine nicht keine heißen
|
|
|
Mmmartina |
Forum-Meister
|
|
Beiträge: 745
|
|
|
|
Anmeldedatum: 30.10.12
|
|
|
|
Wohnort: hier
|
|
|
|
Version: R2020a
|
|
|
|
|
|
Verfasst am: 05.03.2021, 19:47
Titel:
|
|
Dir geht es also um die Zeile
?
Die muss immer den letzen Wert von k_pri enthalten, da erst nach Ende der Schleife geschrieben wird.
_________________
LG
Martina
"Wenn wir bedenken, daß wir alle verrückt sind, ist das Leben erklärt." (Mark Twain))
|
|
|
|
|
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 - 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.
|
|