2016-08-24 1 views
0

Der folgende Code funktioniert, wenn die numerische Eingabe ein einzelner Skalar ist, aber nicht funktioniert, wenn es ein Vektor ist. Ich möchte, dass der Benutzer den Vektor im Format [5 5 5] eingibt.Wie man eine Vektoreingabe in Matlab erlaubt GUI `redigiere Text`

handles.brightness = str2double(get(hObject,'String')); 

Ich möchte zeros(1,3) die Vektorwerte in einem leeren Array speichern. Dann könnte ich etwas wie handles.brightness(1) oder handles.brightness(2) tun, um die Vektorelemente zu verwenden.

Antwort

2

können Sie str2num statt str2double verwenden:

a = str2num('[5 5 5]') 

a = 

    5  5  5 

>> a(2) 

ans = 

    5 

b = str2double('[5 5 5]') 

b = 

    NaN 

str2num ist flexibler als str2double aber es gibt eine Kosten in Sicherheit und Leistung. Weitere Informationen finden Sie in den Dokumenten.

+0

Es funktioniert! Vielen Dank. – Senyokbalgul