MATLAB的GUI中怎样获取输入框中的数字?
比如说叫edit1,如果用R=get(handles.edit1,'string');x=0:.01:10;y=x+R;plot(x,y)就会出错,二到四行肯定正确,问题...
比如说叫edit1,如果用
R=get(handles.edit1,'string');
x=0:.01:10;
y=x+R;
plot(x,y)
就会出错,二到四行肯定正确,问题就在第一行了。
第一行写成
R=str2num(get(handles.edit1,'string'));
也不对。
后来查到了get的string是cell的,于是
R=str2num(mat2str(cell2mat(get(handles.edit1,'string'))));
还是不行。
请问,输入框里边的数字到底如何获取并参加运算? 展开
R=get(handles.edit1,'string');
x=0:.01:10;
y=x+R;
plot(x,y)
就会出错,二到四行肯定正确,问题就在第一行了。
第一行写成
R=str2num(get(handles.edit1,'string'));
也不对。
后来查到了get的string是cell的,于是
R=str2num(mat2str(cell2mat(get(handles.edit1,'string'))));
还是不行。
请问,输入框里边的数字到底如何获取并参加运算? 展开
3个回答
展开全部
get(handle,'property')
比如是edit1,要获取输入的文字,即:
yourInputText = get(handles.edit1,'String');
获取控件的属性算是MATLAB的GUI的一个基本操作。
扩展资料
在matlab的gui中用load函数读取.mat等类型数据:
%定义全局变量
global img_correct
%读取数据名称及位置
[filename,pathname]=uigetfile({'*.jpg;*.png;*.tif;*.mat'});
str=[pathname filename];
%load语句读取数据
load(str)
%读取的数据赋值
img_correct=clabels;
%注:clabels为数据的名称,要写对,否则取不出来。
展开全部
如果R是说的cell型的话,分两种情况:
1,如果这个元组里的数据就是double型的,那R{1}就把这个数取出来了
2,如果里面的数据时字符串,那你先R{1},然后在把这个str2num
matlab gui edit控件获取数据的代码如下:
%以字符串的形式来存储数据文本框1的内容. 如果字符串不是数字,则显示空白内容
input = str2num(get(hObject,'String'));
%检查输入是否为空. 如果为空,则默认显示为0
if (isempty(input))
set(hObject,'String','0')
end
guidata(hObject, handles); %每一段代码后面最好都加上这句 更新GUI句柄
edit获取的数据都是string型的 所以要转换成nub型的
input = str2num(get(hObject,'String')); 这句可以不写 可以再后边使用的时候在写
退出gui 代码如下
close(gcf)
1,如果这个元组里的数据就是double型的,那R{1}就把这个数取出来了
2,如果里面的数据时字符串,那你先R{1},然后在把这个str2num
matlab gui edit控件获取数据的代码如下:
%以字符串的形式来存储数据文本框1的内容. 如果字符串不是数字,则显示空白内容
input = str2num(get(hObject,'String'));
%检查输入是否为空. 如果为空,则默认显示为0
if (isempty(input))
set(hObject,'String','0')
end
guidata(hObject, handles); %每一段代码后面最好都加上这句 更新GUI句柄
edit获取的数据都是string型的 所以要转换成nub型的
input = str2num(get(hObject,'String')); 这句可以不写 可以再后边使用的时候在写
退出gui 代码如下
close(gcf)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你很有毅力,呵呵,说正事:
如果R是你说的cell型的话,分两种情况:
1,如果这个元组里的数据就是double型的,那R{1}就把这个数取出来了
2,如果里面的数据时字符串,那你先R{1},然后在把这个str2num了就是数了试试
如果R是你说的cell型的话,分两种情况:
1,如果这个元组里的数据就是double型的,那R{1}就把这个数取出来了
2,如果里面的数据时字符串,那你先R{1},然后在把这个str2num了就是数了试试
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询