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

Vektorlänge angleichen (dimension mismatch)

 

giftmischen
Forum-Anfänger

Forum-Anfänger



Beiträge: 42
Anmeldedatum: 20.08.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.04.2011, 20:50     Titel: Vektorlänge angleichen (dimension mismatch)
  Antworten mit Zitat      
Hallo,
ich würde gerne eine mehrspalte Datei erzeugen, jedoch habe ich das Problem, dass die Spalten nicht gleichlang werden. Deswegen erscheint immer
??? Subscripted assignment dimension mismatch.

Ich hab mir gedacht, dass ich die Lücken mit NaN füllen könnte, wüsste aber nicht, wie ich das mache.
Kann mir einer helfen?

Danke schonmal im Voraus!



Hier mal ein Beispielcode:
Code:

for m=1:11
Tiefenklassen(:,m)=depth_OBS(depth_OBS(:,m)<=0.2);
end
 
Private Nachricht senden Benutzer-Profile anzeigen


Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 12.04.2011, 21:19     Titel:
  Antworten mit Zitat      
Die Frage ist wie man es *sinnvoll* tut. Ist das etwas was man mit Interpolation lösen kann? Um sinnvolle Tipps zu geben sind Informationen zur Art der Daten hilfreich.

Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
giftmischen
Themenstarter

Forum-Anfänger

Forum-Anfänger



Beiträge: 42
Anmeldedatum: 20.08.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.04.2011, 21:35     Titel:
  Antworten mit Zitat      
also interpolieren würde ich nur ungern.
einfach nur die fehlenden werte auffüllen.
das eine sind Messwerte und das andere Wahrscheinlichkeiten.
Ich habe mal Auszüge der Reihen angehangen.

Wahrscheinlichkeiten.txt
 Beschreibung:

Download
 Dateiname:  Wahrscheinlichkeiten.txt
 Dateigröße:  1.94 KB
 Heruntergeladen:  462 mal
Messwerte.txt
 Beschreibung:

Download
 Dateiname:  Messwerte.txt
 Dateigröße:  1.85 KB
 Heruntergeladen:  436 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 13.04.2011, 08:33     Titel:
  Antworten mit Zitat      
Verstehe - es ist nicht so, dass die verschiedenen Dateien veschiedene Längen beinhalten, sondern es ist schon in der Datei selber. Ich sehe nicht, dass besondere Klimmzüge gemacht werden müssen. Ich konvertiere externe Messwerte mit Komma immer in den Punkt (comma2dot) - alte Gewohnheit. Dann einfach mit

Code:
X=importdata('messwerte_dot.txt')
Code:


einlesen . Die NaNs sind gleich dabei.

Andreas


comma2dot.m
 Beschreibung:

Download
 Dateiname:  comma2dot.m
 Dateigröße:  898 Bytes
 Heruntergeladen:  426 mal
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
giftmischen
Themenstarter

Forum-Anfänger

Forum-Anfänger



Beiträge: 42
Anmeldedatum: 20.08.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.04.2011, 10:18     Titel:
  Antworten mit Zitat      
ne, das war es auch nicht. aber egal. dazu habe ich mittlerweilen schon eine lösung gefunden.
und zwar:
Code:

for m=1:11
Tiefenklassen{1,m}=depth_OBS(depth_OBS(:,m)<=0.2);
Tiefenklassen{2,m}=depth_OBS(depth_OBS(:,m)<=0.4&depth_OBS(:,m)>0.2);
Tiefenklassen{3,m}=depth_OBS(depth_OBS(:,m)<=0.6&depth_OBS(:,m)>0.4);
Tiefenklassen{4,m}=depth_OBS(depth_OBS(:,m)<=0.8&depth_OBS(:,m)>0.6);
Tiefenklassen{5,m}=depth_OBS(depth_OBS(:,m)<=1.0&depth_OBS(:,m)>0.8);
end
 


mein neues Problem, gehört zwar nicht in dieses Thema aber ich sags einfach mal.
Und zwar gibt matlab mir jetzt immer nur die Werte der ersten Spalte von depth_OBS aus und nicht wie gewünscht die Werte der m-ten Spalte.
Ich habe es so versucht.

Code:

or m=1:11
Tiefenklassen{1,m}=depth_OBS(:,m)(depth_OBS(:,m)<=0.2);
% ...
end
 

Das geht aber nicht.
Wie kann ich dir Werte die ich gesucht habe auch Speichern und nicht die aus der 1. Spalte?
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 13.04.2011, 11:10     Titel:
  Antworten mit Zitat      
Hallo,

indem du Zeilen-Spalten-Indizierung verwendest; das entscheidende ist das ",m":
Code:
for m=1:11
Tiefenklassen{1,m}=depth_OBS(depth_OBS(:,m)<=0.2, m);
% ...
end


Grüße,
Harald

(Man könnte hier {1,m} auch durch {m} ersetzen)

Zuletzt bearbeitet von Harald am 13.04.2011, 11:30, insgesamt einmal bearbeitet
Private Nachricht senden Benutzer-Profile anzeigen
 
giftmischen
Themenstarter

Forum-Anfänger

Forum-Anfänger



Beiträge: 42
Anmeldedatum: 20.08.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.04.2011, 11:16     Titel:
  Antworten mit Zitat      
danke!
funktioniert super!
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.