carathen 发表于 2007-5-22 11:41

求助EDIT_TEXT控件方面问题

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

eight 发表于 2007-5-22 13:05

原帖由 carathen 于 2007-5-22 11:41 发表 http://www.chinavib.com/forum/images/common/back.gif
我希望在界面上的可编辑文本框里输入一个公式,然后在程序里调用这个公式,求助编写命令或方法,比如这个公式是A=B+C,求调用命令,谢谢!!!!

建议看看 GUI 的书籍,这种操作性的东西就算别人做好了把程序贴上来,你照样不知道如何修改的

carathen 发表于 2007-5-22 13:09

我主要是不知道哪个命令啊,搜不到~~郁闷,具体操作我还是会``

carathen 发表于 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发的帖子,但实际我用不了
谢谢你了,我找遍资料上和论坛里所有的资料了,怎么都不对啊~~

carathen 发表于 2007-5-22 17:02

在线等答案,希望有人帮助

carathen 发表于 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函数

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;

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
这是程序~~帮忙看看

carathen 发表于 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,:))
不详细啊`和我的也没太大关系~~

eight 发表于 2007-5-22 20:01

原帖由 carathen 于 2007-5-22 19:48 发表 http://www.chinavib.com/forum/images/common/back.gif
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 函数体的第一行,这是正确的写法

carathen 发表于 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 编辑 ]

eight 发表于 2007-5-22 20:21

原帖由 carathen 于 2007-5-22 20:16 发表 http://www.chinavib.com/forum/images/common/back.gif
哪个是正确的写法啊?
if get(handles.edit2,'string','A*exp(-t/tao)+0.01*randn(1,151)')
老是对这条语句报错~~不知道哪里有问题,EIGHT帮看看吧

我上面不是告诉你了吗?况且,你的程序到那条语句才报错,也就证明了第一行是正确的,不然第一行就报错了,还能运行到那条语句?

carathen 发表于 2007-5-22 20:26

是不是写成:
if 'A*exp(-t/tao)+0.01*randn(1,151)'=get(handles.edit2,'string')这样啊?
还是要报错哦?

eight 发表于 2007-5-22 23:14

原帖由 carathen 于 2007-5-22 20:26 发表 http://www.chinavib.com/forum/images/common/back.gif
是不是写成:
if 'A*exp(-t/tao)+0.01*randn(1,151)'=get(handles.edit2,'string')这样啊?
还是要报错哦?


字符串比较需要使用 strcmp 这样的语句
页: [1] 2
查看完整版本: 求助EDIT_TEXT控件方面问题