bkat 发表于 2007-12-23 12:29

怎么用在gui中打印zpk变量??

在matlab运行下面的代码

aa = zpk([-1,5],[-2,-6],2);

uicontrol(gcf,'style','text','position',,'string',aa);

结果出错,不知道怎么处理

请各位大侠帮忙呀

:@( :@(

花如月 发表于 2007-12-23 13:16

原帖由 bkat 于 2007-12-23 12:29 发表 http://www.chinavib.com/forum/images/common/back.gif
在matlab运行下面的代码

aa = zpk([-1,5],[-2,-6],2);

uicontrol(gcf,'style','text','position',,'string',aa);

结果出错,不知道怎么处理

请各位大侠帮忙呀

:@( :@(
请帖出错信息,对发帖的技巧不了解可以先看置顶帖子

bkat 发表于 2007-12-23 13:33

谢谢 花如月

运行后返回下面的信息

Zero/pole/gain:
2 (s+1) (s-5)
-------------
(s+2) (s+6)

??? Error using ==> uicontrol
Conversion to double from zpk is not possible.

Error in ==> DC_DC>pushbutton1_Callback at 83
uicontrol(gcf,'style','text','position',,'string',aa);

Error in ==> gui_mainfcn at 75
      feval(varargin{:});

Error in ==> DC_DC at 44
    gui_mainfcn(gui_State, varargin{:});

??? Error while evaluating uicontrol Callback.

花如月 发表于 2007-12-23 14:19

回复 #3 bkat 的帖子

zpk求的是零极点模型,其实在求之前你的零点和极点已经知道了。调用也只是为了产生那个式子,但是那个式子确实没有办法直接显示。
即使不用zpk你一样可以写出那个式子



效果就是那样了,自己试试看吧。就是一个字符串显示的问题
>> str={'2(s+1)(s-5)','--------------','(s+2)(s+6)'}
str =
    '2(s+1)(s-5)'    '--------------'    '(s+2)(s+6)'
>> uicontrol(gcf,'style','text','position',,'FontWeight',' bold ','string',str);
如果有直接把char转化成string的方法,也可以试试看。总是方法有很多,要多尝试!

[ 本帖最后由 花如月 于 2007-12-23 14:22 编辑 ]

bkat 发表于 2007-12-23 15:14

谢谢 花兄

谢谢你提供的方法

要是能直接把zpk格式 打出来就最好了

你说的把char转化成string怎么实现的呢

不过zpk好像不是char吧 ??

[ 本帖最后由 花如月 于 2007-12-23 15:18 编辑 ]

花如月 发表于 2007-12-23 15:18

原帖由 bkat 于 2007-12-23 15:14 发表 http://www.chinavib.com/forum/images/common/back.gif
谢谢 花兄

谢谢你提供的方法

要是能直接把zpk格式 打出来就最好了

你说的把char转化成string怎么实现的呢

不过zpk好像不是char吧 ??
我给你的就是直接打印啊,zpk返回的数据类型通过class查看一下就明白了
页: [1]
查看完整版本: 怎么用在gui中打印zpk变量??