如何允许在 Matlab GUI `edit text` 中输入矢量
How to allow a vector input in Matlab GUI `edit text`
如果数字输入是单个标量,下面的代码将起作用,但如果它是向量,则不起作用。我希望用户以 [5 5 5]
.
的格式输入矢量
handles.brightness = str2double(get(hObject,'String'));
我想将向量值存储在一个空数组中 zeros(1,3)
。然后我可以做类似 handles.brightness(1)
或 handles.brightness(2)
的事情来使用矢量元素。
您可以使用 str2num 而不是 str2double:
a = str2num('[5 5 5]')
a =
5 5 5
>> a(2)
ans =
5
b = str2double('[5 5 5]')
b =
NaN
str2num 比 str2double 更灵活,但在安全性和性能方面存在成本。有关详细信息,请参阅文档。
如果数字输入是单个标量,下面的代码将起作用,但如果它是向量,则不起作用。我希望用户以 [5 5 5]
.
handles.brightness = str2double(get(hObject,'String'));
我想将向量值存储在一个空数组中 zeros(1,3)
。然后我可以做类似 handles.brightness(1)
或 handles.brightness(2)
的事情来使用矢量元素。
您可以使用 str2num 而不是 str2double:
a = str2num('[5 5 5]')
a =
5 5 5
>> a(2)
ans =
5
b = str2double('[5 5 5]')
b =
NaN
str2num 比 str2double 更灵活,但在安全性和性能方面存在成本。有关详细信息,请参阅文档。