WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

gleiche Berechnung für Matrizen mit individueller Speicheru

 

Schlangenkopf
Forum-Anfänger

Forum-Anfänger


Beiträge: 38
Anmeldedatum: 20.05.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.06.2021, 21:32     Titel: gleiche Berechnung für Matrizen mit individueller Speicheru
  Antworten mit Zitat      
Hallo,
ich möchte für n Messreihen in einer for-Schleife immer die gleiche Berechnung durchführen und das jeweilige Ergebnis individiell, mit durchnummerierter Endung als Messwertreihe Abspeichern.
(Durch die Berechnung wird aus einer 1000x400 großen Matrix soll am Ende ein 1x40 vektor werden.)

Vielen Dank für die Unterstützung im Voraus
Private Nachricht senden Benutzer-Profile anzeigen


Mmmartina
Forum-Meister

Forum-Meister


Beiträge: 745
Anmeldedatum: 30.10.12
Wohnort: hier
Version: R2020a
     Beitrag Verfasst am: 22.06.2021, 21:49     Titel:
  Antworten mit Zitat      
Und was ist nun die Frage?

Wenn die Frage ist, ob "mit durchnummerierter Endung" eine gute Idee ist, dann: NEIN!
Denn es erschwert den Zugriff und die weitere Arbeit damit.
Stattdessen fortlaufend in einem Vektor (oder wenn das Ergebnis jedes Schleifendurchlaufs ein Vektor ist, dann eben als Matrix) speichern.
_________________

LG
Martina

"Wenn wir bedenken, daß wir alle verrückt sind, ist das Leben erklärt." (Mark Twain))
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.457
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 22.06.2021, 21:50     Titel:
  Antworten mit Zitat      
Hallo,

und was genau hast du versucht? Welche Probleme sind dabei aufgetreten?

Zitat:
für n Messreihen

Und wie liegen diese vor? Ist das die 1000x400-Matrix?

Zitat:
individiell, mit durchnummerierter Endung

Das ist generell keine gute Idee. Sinnvoller ist bei skalaren Ergebnissen ein Vektor, bei Vektoren gleicher Länge eine Matrix, bei Vektoren unterschiedlicher Länge ein Cell Array.

Zitat:
(Durch die Berechnung wird aus einer 1000x400 großen Matrix soll am Ende ein 1x40 vektor werden.)

Und wie sollen aus den 1000x400-Werten nun 40 Werte werden?

Grüße,
Harald

Edit: Martina war erste. ;)
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Mmmartina
Forum-Meister

Forum-Meister


Beiträge: 745
Anmeldedatum: 30.10.12
Wohnort: hier
Version: R2020a
     Beitrag Verfasst am: 24.06.2021, 13:15     Titel:
  Antworten mit Zitat      
Harald hat Folgendes geschrieben:
Edit: Martina war erste. Wink

Yeah! Wink
_________________

LG
Martina

"Wenn wir bedenken, daß wir alle verrückt sind, ist das Leben erklärt." (Mark Twain))
Private Nachricht senden Benutzer-Profile anzeigen
 
Schlangenkopf
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 38
Anmeldedatum: 20.05.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.06.2021, 19:22     Titel:
  Antworten mit Zitat      
Hallo und zuersteinmal vielen Dank für die Hilfe.
Ich habe mein Problem nochmals überdacht und habe nun einen neuen Lösungsversuch:

Ich berechne in einer Schleife immer 20 Widerstandswerte (der momentane Schleifendurchlauf wird mit der Variable f gekennzeichnet und läuft von 1 bis 20) für je drei unterschiedliche Phasen in n unterschiedlichen Messungen.

Im Code zuvor suche und finde ich jeweils den passenden Strom und Spannungswert einer Phase für die Position f, die zusammengehören, und dividiere diese mit U_Amp(f)/I_Amp(f).

Ich bin nun auf der Suche nach einem Code der mir in einem Cell Array (ich hoffe das ist der richtige Name bzw. die richtige Bezeichnung) jeweils einen Unterordner für Phase 1, Phase 2 und Phase 3 erstellt, in dem für n Messungen jeweils eine Zeile geschrieben wird und hier die 20 Widerstands Berechnungsergebnisse in die Spalten f (f läuft ja von 1-20) schreibt.

folgendes habe ich versucht:
Code:

Berechnete_Schleifenimpedanzen{1,phase}(Messreihen_Position _(kannst du da nicht die Variable n nehmen?)_, f) = U_Amp(f)/I_Amp(f);
 


Ich hoffe das Problem ist einigermaßen verständlich.

Vielen Dank im Voraus.
Private Nachricht senden Benutzer-Profile anzeigen
 
Schlangenkopf
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 38
Anmeldedatum: 20.05.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.06.2021, 08:08     Titel:
  Antworten mit Zitat      
Guten Morgen,
der Kommentar im Code kommt von einer bereits erfragten Hilfe. richtig lautet mein Versuch:
Code:

Berechnete_Schleifenimpedanzen_leer{1,phase}(Messreihen_Position,f) = U_Amp(f)/I_Amp(f);
Private Nachricht senden Benutzer-Profile anzeigen
 
Schlangenkopf
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 38
Anmeldedatum: 20.05.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.06.2021, 08:29     Titel:
  Antworten mit Zitat      
Hallo,
wenn ich meinen Code ausführe, kommt an dem gezeigten Codezeile folgende Fehlermeldung:
"Index exceeds array bounds"
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.457
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 25.06.2021, 08:39     Titel:
  Antworten mit Zitat      
Hallo,

mangels genauerer Informationen darüber, was Datentyp und vor allem Dimensionen der Variablen sind, sowie welche Variable die Schleifenvariable ist und über welchen Bereich sie läuft, kann ich nur eines empfehlen: debuggen.
Falls das Problem in einer for-Schleife und erst in einer späteren Iteration auftritt, hilft
Code:


Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.