chinamiracle 发表于 2008-5-14 20:33

关于pop_menu控件的使用以及相关问题。。

上次我那26个方程组可以解了只是算法太简,好慢,运行老是先busy,然后看积分时间 ,如果是0到10.居然要算差不多三分钟(168秒多),而且是在电脑没有做别的情况下。
       不过能算是能算但是在命令窗口不出现东西的。我想问怎么样才能把ode算的每一结果出现在命令窗口上呢?
   我是写了句plot才直接画出图来了。
    我现在想用pop——menu那个控件,下拉选择某一项,就画某一个方程的图。怎么写?我初步是这样的,我把下面这段写在该控件callback下。

val=get(hObject,'Value');
str=get(hObject,'String');
switch str{val};
    case '厌氧池Sf浓度变化曲线'
         plot(t,y(:,1),'-');
    case '厌氧池Sa浓度变化曲线' %user selects membrane
         plot(t,y(:,2),'-');
    ......
end
错误如下:
??? Undefined function or variable 't'.
Error in ==> huatotal>popupmenu1_Callback at 204
      plot(t,y(:,2),'-');
Error in ==> gui_mainfcn at 75
      feval(varargin{:});
Error in ==> huatotal at 44
    gui_mainfcn(gui_State, varargin{:});
??? Error while evaluating uicontrol Callback.
说没有定义t。
plot 这句也不行,是怎么个不行的。初学啊,对程序没有融会贯通啊请指教。

[ 本帖最后由 eight 于 2008-5-15 09:27 编辑 ]

sigma665 发表于 2008-5-14 21:09

回复 楼主 的帖子

t 没有定义,当然不能plot

不知道你的t是什么

chinamiracle 发表于 2008-5-14 21:40

t就是方程里的t啊。时间,那在这个函数下要怎么重新定义?就是到底要怎么写才对

[ 本帖最后由 chinamiracle 于 2008-5-14 22:26 编辑 ]

eight 发表于 2008-5-14 22:33

原帖由 chinamiracle 于 2008-5-14 21:40 发表 http://www.chinavib.com/forum/images/common/back.gif
t就是方程里的t啊。时间,那在这个函数下要怎么重新定义?就是到底要怎么写才对 建议到置顶区阅读for 新手系列的帖子,遇到不明白的地方请先看置顶帖

chinamiracle 发表于 2008-5-14 22:39

好吧,我先看看吧,希望像你说的那样院长同志。

[ 本帖最后由 chinamiracle 于 2008-5-14 22:45 编辑 ]

chinamiracle 发表于 2008-5-15 15:19

问题没有得到解决。。院长先生,上面你给我的回复其实和我讲过两遍了,都一样的回复。关于置顶和精华我早看过了,没有我想要的东西。也许你们还没懂我到底讲的是什么问题。
    问题有1:我用ode45解方程,我在ode45直接加了句plot语句直接运行后是画得出图形,但command window窗口没有数据。
    2: 我想实现的功能是,在popupmenu控件下,选择某一项,如,选厌氧池Sf浓度变化曲线,然后就可以直接画出该曲线,此曲线画的就是方程组中的第一个方程y(:,1).以此类推,画完方程组每个的曲线。
    请问如何实现?

[ 本帖最后由 chinamiracle 于 2008-5-15 15:21 编辑 ]

chinamiracle 发表于 2008-5-15 17:47

问题1原来是分号的原因。。解决了
页: [1]
查看完整版本: 关于pop_menu控件的使用以及相关问题。。