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'))));
还是不行。
请问,输入框里边的数字到底如何获取并参加运算?
展开
 我来答
velocity_2005
高粉答主

2019-11-21 · 关注我不会让你失望
知道小有建树答主
回答量:1785
采纳率:100%
帮助的人:120万
展开全部

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为数据的名称,要写对,否则取不出来。

shine戚七七
推荐于2017-09-28 · TA获得超过4.7万个赞
知道大有可为答主
回答量:2万
采纳率:75%
帮助的人:2685万
展开全部
如果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)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友1c6e06f
推荐于2017-09-21 · TA获得超过2894个赞
知道小有建树答主
回答量:695
采纳率:66%
帮助的人:657万
展开全部
你很有毅力,呵呵,说正事:
如果R是你说的cell型的话,分两种情况:
1,如果这个元组里的数据就是double型的,那R{1}就把这个数取出来了
2,如果里面的数据时字符串,那你先R{1},然后在把这个str2num了就是数了试试
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式