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

Bearbeitung von structs

 

Rev
Forum-Anfänger

Forum-Anfänger


Beiträge: 31
Anmeldedatum: 02.05.11
Wohnort: ---
Version: MATLAB R2010b
     Beitrag Verfasst am: 29.05.2011, 11:19     Titel: Bearbeitung von structs
  Antworten mit Zitat      
Hallo alle zusammen,

wahrscheinlich wird das jetzt ne ziemlich peinliche Angelegenheit. Allerdings verwende ich mittlerweile schon beinahe 3 Stunden auf das Problem.
Für meine Bachelor-Arbeit muss ich per Simulink eine Simulation durchführen und soll die Ergebnisse (3 Winkel und die Zeit) in einem struct abspeichern.
Damit ich allerdings später in Latex die Daten plotten kann, muss angeblich in der ersten Zeile ein char bzw. string stehen.
Deshalb habe ich mir gedacht, dass ich die Einträge in dem struct einfach um eine Zeile nach unten verschiebe und in die oberste Zeile dann den entsprechenden char einfüge.
Nur leider gelingt mir das einfach nicht.

Hier mal mein Quellcode
Code:

clear all;
load Parameter_var;
% sim('Sim_unlin2_komb_sub');
sim('Sim_unlin2_komb_sub',[0 90]);

%Diagramm vorbereiten
[rows colums] = size(simout.time);
for n=rows:-1:1
    simout.time(n+1,1)=simout.time(n,1);
    simout.signals.values(n+1,1)=simout.signals.values(n,1);
    simout.signals.values(n+1,2)=simout.signals.values(n,2);
    simout.signals.values(n+1,3)=simout.signals.values(n,3);
end
simout.time(1,1)='Zeit';
simout.signals.values(1,1)='Phi_d';
simout.signals.values(1,2)='Phi_l';
simout.signals.values(1,3)='Phi_c';
 

Die Einträge 'time' und und 'values' haben die selbe Zeilenanzahl.

Als Fehlermeldung bekomme ich immer nur:
Zitat:
??? Subscripted assignment dimension mismatch.

Error in ==> Start at 14
simout.time(1,1)='Zeit';


Weiß einer von euch, woran das liegt? Oder vllt. noch besser. Hat einer von euch ne alternative Lösung zu meinem Problem?

Würde mich freuen, wenn ihr mir da weiterhelfen könntet.

Gruß Rev
Private Nachricht senden Benutzer-Profile anzeigen


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 30.05.2011, 02:33     Titel: Re: Bearbeitung von structs
  Antworten mit Zitat      
Hallo Rev,

Zitat:
Damit ich allerdings später in Latex die Daten plotten kann, muss angeblich in der ersten Zeile ein char bzw. string stehen.

Das erscheint mir rätselhaft. Frage doch mal den, der Dir das gesagt hat, nach Details.

Code:
simout.time(1,1)='Zeit';

??? Subscripted assignment dimension mismatch.
Error in ==> Start at 14
simout.time(1,1)='Zeit';


Ich vermute, "simout.time" ist ein numerisches Array. Dann kann man keinen String in das erste Element schreiben, da ein String bereits ein Vektor com Typ CHAR ist.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Rev
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 31
Anmeldedatum: 02.05.11
Wohnort: ---
Version: MATLAB R2010b
     Beitrag Verfasst am: 30.05.2011, 07:56     Titel:
  Antworten mit Zitat      
Hallo Jan,

danke für die Antwort.

Gibt es dann eine Möglichkeit einen "Text" in einem Vektor z.B. vor den Zahlenwerten zu speichern?

Wahrscheinlich ist das eine ziemlich billige Frage.. Um ehrlich zu sein, werden wir Maschinenbau-Bachelor was Matlab betrifft ziemlich ins kalte Wasser geworfen. Einerseits bekommen wir keine Kurse und andererseits heißt es, dass man damit umgehen können muss.

Gruß Chris
Private Nachricht senden Benutzer-Profile anzeigen
 
BlackDread
Forum-Century

Forum-Century


Beiträge: 212
Anmeldedatum: 11.05.11
Wohnort: ---
Version: 2015a
     Beitrag Verfasst am: 30.05.2011, 08:47     Titel:
  Antworten mit Zitat      
Hallo Chris,

da ein Text und Zahlen unterschiedliche Datentypen haben, kannst du sie nicht in das "gleiche" Array schreiben.
Eine Möglichkeit wäre z.B. ein Cell-Array, keine Ahnung ob dir das was Hilft

Code:
test = {'hallo';[1 2 3 4 5]}


LG (auch) Chris
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 30.05.2011, 22:46     Titel:
  Antworten mit Zitat      
Hallo Rev,

Zitat:
Um ehrlich zu sein, werden wir Maschinenbau-Bachelor was Matlab betrifft ziemlich ins kalte Wasser geworfen. Einerseits bekommen wir keine Kurse...

Es klingt verblüffend, dass man Kurse "bekommen" kann. Ihr könntet einen Kurs selbst organisieren, da er für euch sehr nützlich sein könnte.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Rev
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 31
Anmeldedatum: 02.05.11
Wohnort: ---
Version: MATLAB R2010b
     Beitrag Verfasst am: 01.06.2011, 19:19     Titel:
  Antworten mit Zitat      
Jan S hat Folgendes geschrieben:
Hallo Rev,

Zitat:
Um ehrlich zu sein, werden wir Maschinenbau-Bachelor was Matlab betrifft ziemlich ins kalte Wasser geworfen. Einerseits bekommen wir keine Kurse...

Es klingt verblüffend, dass man Kurse "bekommen" kann. Ihr könntet einen Kurs selbst organisieren, da er für euch sehr nützlich sein könnte.

Gruß, Jan


Ja, das stimmt natürlich auch wieder. Was ich eigentlich damit zum Ausdruck bringen wollte, war dass gerade Matlab und Simulink im Studium doch sehr stiefmütterlich behandelt werden. Es heißt zwar "ihr könnt, wenn ihr wollt". Allerdings wird nirgends so richtig hervorgehoben, welche Bedeutung Matlab in unserem Studium und auch später eigentlich hat.

Aber zurück zum Thema.
Mitlerweile habe ich das ganze in den Griff bekommen. Ursprünglich wollte ich das alles automatisiert von Latex zeichnen lassen (also zuerst die Daten in ner Tabelle von Matlab ausgeben und danach die Tabelle von Latex zeichnen lassen). Habe das allerdings jetzt so gelöst, dass ich den struct ausgelesen und in einer Variable data gespeichert habe. Die Schaubilder habe ich dann einfach mit Matlab zeichnen lassen ( und den Interpreter 'Latex' verwendet). Sieht alles in allem doch auch recht schön aus.
Wen es interessiert kann auch mal nen Blick darauf werfen. Vllt. hilft das dem ein oder anderen ja weiter.

Vielen Dank auf jeden Fall für eure Tipps Smile.

Gruß Chris

Matlab_simulation.rar
 Beschreibung:

Download
 Dateiname:  Matlab_simulation.rar
 Dateigröße:  234.76 KB
 Heruntergeladen:  360 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 01.06.2011, 23:49     Titel:
  Antworten mit Zitat      
Hallo Rev,

Vielen Dank für das Posten Deiner Lösung. Das ist hilfreich für die Leser des Forums!

Gruß, Jan
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 - 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.