Содержание полезного не сохраняется - PullRequest
0 голосов
/ 28 апреля 2019

Я пытаюсь написать графический интерфейс для нескольких целей, которые выглядят так: enter image description here одна из них - создать матрицу на основе пользовательского ввода через пользовательский интерфейс, поэтому в untitled_OpeningFcnон был предопределен по размеру и включил издание ячейки

set(handles.uitable1,'Data',cell(2,3));
set(handles.uitable1,'ColumnEditable',true(1,3))

внутри pushbutton2_Callback, я пытаюсь прочитать данные, записанные в таблице, сохранить их и отобразить в статическом текстовом поле:

value=get(handles.uitable1,'Data');
value=str2double(value);
set(handles.text2,'String',num2str(value));

Но когда он работает, текстовое поле говорит "NaN", поэтому данные не сохраняются.

Что еще нужно?

ОБНОВЛЕНИЕ Благодаря aswer он не дает ожидаемых результатов При использовании исходного кода он дает следующий вывод enter image description here
и при использовании предлагать mat2str я получил это
enter image description here

1 Ответ

2 голосов
/ 28 апреля 2019

Я думаю, что причина вашей проблемы в том, что линия

value = get(handles.uitable1,'Data');

не приводит ни к чему, что может быть преобразовано в число. Рассмотрим следующий пример:

hF = uifigure(); % works the same way with `figure()`.
hT = uitable(hF,'Data',[1 2 3; 4 5 6]);

Затем рассмотрим следующее:

>> hT.Data
ans =
     1     2     3
     4     5     6

>> class(hT.Data)
ans =
    'double'

>> str2double(hT.Data)
ans =
   NaN

>> mat2str(hT.Data)
ans =
    '[1 2 3;4 5 6]'

В заключение - то, что вам нужно, скорее всего mat2str.

...