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

y Werteanzahl variieren beim plotten

 

Fmueller
Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 02.11.13
Wohnort: Hannover
Version: ---
     Beitrag Verfasst am: 02.11.2013, 16:48     Titel: y Werteanzahl variieren beim plotten
  Antworten mit Zitat      
Hallo

ich habe leider kaum Erfahrung mit MatLab, muss jedoch für eine Versuchsauswertung mit Hilfe eines vorgegebenen Matlab Makros mehrere Datenreihen auswerten.

Das Problem in kurz: Das Makro ist ursprünglich dafür ausgelegt zu einem Zeitpunkt 20 Y Messwerte darzustellen. Bei unserem Versuch wurde jedoch nur mit 12 Sensoren gemessen.

Ich habe zwar einige Erfahrung mit VB Programmierung, jedoch scheitere ich jetzt leider am Anpassen des Plotbefehls.
In das Makro wird zu Beginn eine .txt datei eingelesen, das funktioniert einwandfrei, jedoch enthält diese 20 Messspalten, es sollen im folgenden code jedoch nur die ersten 12 Spalten berücksichtigt werden.
Kann mir jemand sagen, was dazu im folgenden Code abschnitt angepasst werden muss?

Wenn ich das folgende Kompiliere, bekomme ich den Fehler, dass Vektordimensionen nicht zusammenpassen.
Code:

a = 1;
b = 120000;
zufallszeitpunkte = round(a+(b-a)*rand(1,16));

% Einteilung x-Achse festlegen
umfangsposition = round(0:360/12:360); %<-- hier werden 12 X Werte angelegt, richtig?

figure()
% For-Schleife fuer 16 Umfangssignale
for i=1:16
        % Unterabbildung erzeugen
    subplot(4,4,i)
    % x,y-Werte darstellen
    plot(umfangsposition,[data_data(zufallszeitpunkte(i),:),data_data(zufallszeitpunkte(i),1)],'.') %<-- hier versteckt sich meiner meinung nach, dass 20 Y werte geplottet werden sollen, ich brauche aber nur die ersten 12
   
end


Ich hoffe mir kann jemand helfen.

Gruß
Felix
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 02.11.2013, 20:00     Titel:
  Antworten mit Zitat      
Hallo,

zunächst: in MATLAB gibt es keine "Makros", sondern Skripte und Funktionen ;)

Im plot-Befehl werden nicht 20, sondern alle Spalten geplottet und dann quasi ein Ringschluss mit der ersten Spalte gemacht. Wenn du 12 Spalten haben willst, dann vermutlich so:
Code:

plot(umfangsposition,[data_data(zufallszeitpunkte(i),1:12),data_data(zufallszeitpunkte(i),1)],'.')


Falls das nicht weiterhilft, bitte mehr Informationen über die Dimensioneen der Daten zur Verfügung stellen.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Fmueller
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 02.11.13
Wohnort: Hannover
Version: ---
     Beitrag Verfasst am: 02.11.2013, 20:06     Titel:
  Antworten mit Zitat      
ein riesiges DANKE!

du hast eben meinen Abend gerettet.
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.