声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 3616|回复: 15

[GUI界面] 求助EDIT_TEXT控件方面问题

[复制链接]
发表于 2007-5-22 11:41 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
我希望在界面上的可编辑文本框里输入一个公式,然后在程序里调用这个公式,求助编写命令或方法,比如这个公式是A=B+C,求调用命令,谢谢!!!!
回复
分享到:

使用道具 举报

发表于 2007-5-22 13:05 | 显示全部楼层
原帖由 carathen 于 2007-5-22 11:41 发表
我希望在界面上的可编辑文本框里输入一个公式,然后在程序里调用这个公式,求助编写命令或方法,比如这个公式是A=B+C,求调用命令,谢谢!!!!


建议看看 GUI 的书籍,这种操作性的东西就算别人做好了把程序贴上来,你照样不知道如何修改的
 楼主| 发表于 2007-5-22 13:09 | 显示全部楼层
我主要是不知道哪个命令啊,搜不到~~郁闷,具体操作我还是会``
 楼主| 发表于 2007-5-22 14:51 | 显示全部楼层

eight我看过精华区了~还有帮我删除另外2个帖子

精华区里说的太模糊,具体对我实现不了啊!
我想在界面上的编辑文本框里输入一串字符比如A*exp(-t/tao)+0.01*randn(1,151)
然后在PUBUTTON的回调函数里调用这个公式,并把它设为P1,然后我的其他程序处理P1,该怎么写啊?我这样试了:
data = get(handles.edit2, 'String');
p1=data;
不行
aa=get(findobj(gcf,'Tag','Edit2'),'string');
p1=aa;
也不行,我看了你和happy发的帖子,但实际我用不了
谢谢你了,我找遍资料上和论坛里所有的资料了,怎么都不对啊~~
 楼主| 发表于 2007-5-22 17:02 | 显示全部楼层
在线等答案,希望有人帮助
 楼主| 发表于 2007-5-22 17:37 | 显示全部楼层

错误求助,高手帮看看

??? Error using ==> get
Too many input arguments.
Error in ==> jian_76>pushbutton1_Callback at 145
if get(handles.edit2,'string','A*exp(-t/tao)+0.01*randn(1,151)')
Error in ==> gui_mainfcn at 75
        feval(varargin{:});
Error in ==> jian_76 at 42
    gui_mainfcn(gui_State, varargin{:});
??? Error while evaluating uicontrol Callback.
哪里有问题啊?
发表于 2007-5-22 19:22 | 显示全部楼层
把原程序也发上来看看
发表于 2007-5-22 19:23 | 显示全部楼层
参考eval函数
 楼主| 发表于 2007-5-22 19:48 | 显示全部楼层
function pushbutton1_Callback(hObject, eventdata, handles)
B=get(handles.edit2,'string')
handles.current_data = B;
guidata(hObject,handles)

A=1;
tao=1.5*10^-9;
t=0:0.125*10^-9:18.75*10^-9;

p1=B
x1=cwt(p1,4,'cgau4');
rwt_p1=real(x1);
iwt_p1=imag(x1);
mwt_p1=sqrt(rwt_p1.^2+iwt_p1.^2);
qwt_p1=atan(iwt_p1./rwt_p1);
riiqmwt_p1=rwt_p1.*iwt_p1.*iwt_p1.*qwt_p1.*mwt_p1;

if get(handles.edit2,'string','A*exp(-t/tao)+0.01*randn(1,151)')
t=0:0.125*10^-9:18.75*10^-9;
axes(handles.axes1)
plot(t,riiqmwt_p2)
title('含有白噪的局放信号特征值图象')
xlabel('时间t/s')
ylabel('特征值幅度')
end
这是程序~~帮忙看看
 楼主| 发表于 2007-5-22 19:55 | 显示全部楼层
引用HELP上:
Generate a sequence of matrices named M1 through M12:

        for n = 1:12
           eval(['M' num2str(n) ' = magic(n)'])
        end

    Run a selected M-file script.  The strings making up
    the rows of matrix D must all have the same length.
   
        D = ['odedemo '
             'quaddemo'
             'fitdemo '];
        n = input('Select a demo number: ');
        eval(D(n,:))
不详细啊`和我的也没太大关系~~
发表于 2007-5-22 20:01 | 显示全部楼层
原帖由 carathen 于 2007-5-22 19:48 发表
function pushbutton1_Callback(hObject, eventdata, handles)
B=get(handles.edit2,'string')
handles.current_data = B;
guidata(hObject,handles)

A=1;
tao=1.5*10^-9;
t=0:0.125*10^-9:18.75*10^-9 ...


自己看看 pushbutton1_Callback 函数体的第一行,这是正确的写法
 楼主| 发表于 2007-5-22 20:16 | 显示全部楼层
哪个是正确的写法啊?
if get(handles.edit2,'string','A*exp(-t/tao)+0.01*randn(1,151)')
老是对这条语句报错~~不知道哪里有问题,EIGHT帮看看吧

[ 本帖最后由 carathen 于 2007-5-22 20:17 编辑 ]
发表于 2007-5-22 20:21 | 显示全部楼层
原帖由 carathen 于 2007-5-22 20:16 发表
哪个是正确的写法啊?
if get(handles.edit2,'string','A*exp(-t/tao)+0.01*randn(1,151)')
老是对这条语句报错~~不知道哪里有问题,EIGHT帮看看吧


我上面不是告诉你了吗?况且,你的程序到那条语句才报错,也就证明了第一行是正确的,不然第一行就报错了,还能运行到那条语句?
 楼主| 发表于 2007-5-22 20:26 | 显示全部楼层
是不是写成:
if 'A*exp(-t/tao)+0.01*randn(1,151)'=get(handles.edit2,'string')这样啊?
还是要报错哦?
发表于 2007-5-22 23:14 | 显示全部楼层
原帖由 carathen 于 2007-5-22 20:26 发表
是不是写成:
if 'A*exp(-t/tao)+0.01*randn(1,151)'=get(handles.edit2,'string')这样啊?
还是要报错哦?



字符串比较需要使用 strcmp 这样的语句
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-6-8 07:16 , Processed in 0.089572 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表