【问题标题】:matlab gui edit text to graphmatlab gui 将文本编辑为图形
【发布时间】:2014-07-19 20:11:26
【问题描述】:

我正在使用 matlab 指南。我想获取我在编辑文本框中输入的字符串,并将其转换为数字向量,以便我可以从向量中绘制图形。这是我为将字符串转换为数字向量而编写的代码:

function value = substrings (a)
j = 1;
word = a;
for i = 1:length(word)
    if word(i)~= ' '

        q(1,j) = str2double(word(1,i));
        j = j+1;
    end
end
value = q;

end

此代码消除了空格,因此如果我输入“1 2 3 4 5” 它会变成 [1 2 3 4 5] 我遇到的问题是我不知道如何将它包含在我的主代码中,以便我可以在编辑文本框中输入字符串并将其发送到一个按钮来绘制它。

这是指南中的部分:

function text_Callback(hObject, eventdata, handles)
% hObject    handle to text (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
word = get(hObject,'String');

for i = 1:length(word)
    if word(i)~= ' '

        q(1,k) = str2double(word(1,i));
        k = k+1;
    end
end
handles.To_Plot = q;

我打算用按钮绘制句柄。To_Plot。

【问题讨论】:

    标签: string matlab vector matlab-guide


    【解决方案1】:

    嗯,我不太确定您在问什么,但我相信如果您提供说明,我可以为您提供帮助。这就是我认为你想要的:

    没有必要“发送”给任何东西。您只需要使用guidata(hObject, handles) 来同步您的handles 变量,然后将您的绘图命令放在按钮按下回调中。

    function button_ClickedCallback(hObject, eventdata, handles)
    % hObject    handle to text (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    
    doSomethingWith(handles.To_Plot);
    
    end
    

    如果这不是您需要的,只需对您的问题进行一些澄清,我会尽力提供帮助。告诉我您期望的具体输出,以及您所看到的有何不同。

    【讨论】:

    • 您好,感谢您的回复,我想我的措辞有点混乱,我会尽力澄清。基本上,当我在编辑文本框中输入文本时,该文本将作为字符串接收。因此,如果我输入 1 2 3 4 5 一个字符串将形成 '1 2 3 4 5'。我想获取该数据并绘制它,但我无法绘制一个字符串。所以我需要把它分成整数。这就是我写的函数的作用。问题是我无法让该功能在我的主要功能中工作,它只能单独工作。
    • 嗯,这并没有太大帮助。你的意思是它在你的主要功能中不起作用?所以你是说你可以把 substring(a) 放在你的 main 函数中,但它不起作用,但它确实可以从控制台工作?请编辑您的问题并添加错误消息。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-27
    • 1970-01-01
    • 2022-01-15
    • 1970-01-01
    • 2014-09-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多