|
楼主 |
发表于 2007-5-4 13:03
|
显示全部楼层
我重新简化描述一下问题吧:
1. 在GUI中加入一个pushbutton和一个axes,如图1所示;
2. 将axes的tag改成locus并在pushbutton的回调函数中写入:
num = [0 0 1 1 1]
den = [1 1 1 0 1]
axes(handles.locus);
rlocus (num, den);
3. Run之后发现按下button没有任何反应,即在axes中画不出根轨迹;
5. 如果将axes删掉(同时也将axes(handles.locus);也删掉),发现根轨迹可以画出,但是是如图2所示的效果;
6. 再把axes加上,把button的回调函数全换成fplot('sin(x)',[-pi,pi]);后Run,按下button后就可以在axes中画出正弦波形了,如图3所示;(这说明axes只能画由plot或者fplot引导的图形或者说只能画实平面的图形而无法画复平面?)
所以问题在于:能不能在这个axes中画出我需要的根轨迹图形?(即axes中能不能画用rlocus语句写出的图形?如果不能的话该怎么办?)怎样才能在GUI中指定的一块区域画出我需要的根轨迹(复平面图形)
补充一下:如果将2中的代码axes(handles.locus);换成hss=figure来新建一个figure是可以在按下button后弹出一个画好了根轨迹的新图形,就如上面BZ的图.但是我希望能在GUI界面上指定一块区域来画根轨迹.
[ 本帖最后由 alone4444 于 2007-5-4 13:08 编辑 ] |
|