2016-08-24 2 views
0

Ich möchte eine Liste von Strings im Wertfeld einer MatLab Map speichern. Wie folgt aus:Wie kann ich einen Vektor in einer MatLab Map speichern?

signals('Switch5', ['sig1', 'sig2', 'sig3']); 

Wenn ich dies tun erhalte ich die Fehler Only one-dimensional indexing supported. Was bedeuten diese Fehler bedeuten und wie kann ich speichere eine Liste der Werte mit einem Schlüssel assoziiert?

+1

Sie versuchen, mit zwei Indizes in die Karte zu indizieren, Sie stattdessen sollte einem Schlüssel in der Map einen Wert zuweisen wie: 'signals ('Switch5') = {'sig1', 'sig2', 'sig3'}'. Beachten Sie, dass ich ein Zellen-Array verwendet habe, weil sonst sig1 sig2 und sig3 nur verkettet werden würden. –

Antwort

1

können Sie verwenden, um Zellen:

zu initialisieren:

a={'str1','str2','str3'} 
b={'str4','str5','str6'} 
mapObj=containers.Map({'collection1', 'collection2'},{a,b}) 

mapObj('collection1') 
ans = 
    'str1' 'str2' 'str3' 

einen Schlüssel/Wert hinzu:

c={'str7','str8','str9'} 
mapObj('collection3')=c 
+1

Vielleicht möchten Sie die Logik des Hinzufügens zusätzlicher Schlüssel/Wert-Paare hinzufügen, sobald die Karte erstellt wurde. Dies zeigt nur, wie die 'containers.Map' initialisiert wird. Siehe den obigen Kommentar von Benutzer Random Guy für weitere Details. – rayryeng

Verwandte Themen