本帖最后由 15556999527 于 2017-12-21 21:52 编辑
为了做基于matlab时域抽样定理的演示界面课设,我选择matlab里的guide,其实前面设计界面的时候都很简单,也很顺利,顺便找了本书,照着做就好 关键是后面调试的时候,发现图像始终出不来,开始我以为按书上的来,是不是少了什么步骤,结果写了三遍还是出不来图像。 然后上百度,发现遇到我这个bug的基本没有,不过倒是给了我不少启发.看到有人说是因为变量传送问题,然后试了几种传送方法,还是不行。 然后我怀疑是不是压根就没有接收到文本框的数据,怎么验证呢? 想到以前调单片机代码,都会在怀疑有问题的地方进行数据打印,我按照这个思路,找到matlab中guide里的打印函数set(handles.edit2,'string',num2str(y));试着看能不能把y的数据送到edit2 去,结果一运行,还真有。 接着我怀疑是传送过程出了错,然后到另一个函数中使用了同一种方法,发现还是有数据。 来到这就郁闷了,为什么明明有数据却出不来图像呢? 纠结了好久,我想会不会是因为输入的是字符,matlab的画图函数不能识别啊 于是我把 y=get(handles.xinhao,'string');换成了y=str2num(get(handles.xinhao,'string')),结果发现不行,连原本的数据也没了 这个方法又走进了死胡同。接下来又是纠结,百度了很久,没啥用。后面发现一个不怎么相关的帖子,里面用了一个原样输入函数fx1=eval(y); 然后我试了一下,发现果然行。唉~,忽然间发现,自己好像有点蠢,从前面开始学弄交互界面才一个晚上,而一个小问题,调了两天三夜才弄好。 奉上代码:
|
太感谢了,亲爹啊