在MATLAB中将编辑文本输入到矩阵中
我是初学者。我想问,如何将编辑文本放入矩阵?例如,我有30个编辑文本,它们将以数字0-1填充。我想从编辑文本的输入中生成矩阵x1,1,…x1,30 我尝试过以下代码:在MATLAB中将编辑文本输入到矩阵中,matlab,text,matlab-guide,Matlab,Text,Matlab Guide,我是初学者。我想问,如何将编辑文本放入矩阵?例如,我有30个编辑文本,它们将以数字0-1填充。我想从编辑文本的输入中生成矩阵x1,1,…x1,30 我尝试过以下代码: function edit1_Callback(hObject, eventdata, handles) % hObject handle to edit1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handle
function edit1_Callback(hObject, eventdata, handles)
% hObject handle to edit1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit1 as text
% str2double(get(hObject,'String')) returns contents of edit1 as a double
x(1, 1) = str2double(get(hObject,'string'))
直到
function edit30_Callback(hObject, eventdata, handles)
% hObject handle to edit30 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit30 as text
% str2double(get(hObject,'String')) returns contents of edit30 as a double
x(1, 30) = str2double(get(hObject,'string'))
但是,命令窗口显示如下
x =
1
x =
0 0
x =
0 0 0
x =
0 0 0 0.2500
x =
0 0 0 0 0.5000
x =
0 0 0 0 0 0
但实际上我想要的结果是矩阵,比如
1 0 0 0.25 0.5 0
有人知道如何解决这个问题吗?您的问题是功能范围。每个回调函数在自己的作用域中定义x,因此当函数结束在控制台中显示x值时,x将消失
一种方法是使用handles结构在函数之间传递x变量。只需使用handles.x而不是x。我还建议将这个矩阵初始化为handles.x=zeros1,30;在GUI初始化时。OK..谢谢您的回答。我必须这样尝试,但不起作用。你能给我解释一下编码的细节吗?我真的不知道。是否可以在矩阵中输入编辑文本?