sanalex 发表于 2009-5-6 21:30

怎么将公式串显示在axes上

Matlab gui中怎么将公式串显示在axes上如
sys=zpk(,,4)

Zero/pole/gain:
4 (s-2)
-----------
(s-3) (s-5)
怎么将它显示在axes1上啊?

bainhome 发表于 2009-5-6 22:33

GUIGUIGUIGUI

sanalex 发表于 2009-5-6 22:49

回复 沙发 bainhome 的帖子

从TestGUIPrint.m 中发现用到了latex了,我不知道安装什么,怎么安装呀?非常感谢bainhome!

bainhome 发表于 2009-5-6 23:28

不用安装ctex套装,MATLAB支持简单的tex字符,如果非要安装tex,请去ctex论坛看看,那里有你想要的任何信息。

sanalex 发表于 2009-5-7 08:40

LZ不用安装ctex套装,你可以告诉我该安装什么呢?也就是做一些什么处理呢?
我搜索了一下说去mathworks下teximage.m,但是下下来后放哪里呢?
还是先谢啦!

sanalex 发表于 2009-5-7 10:28

bainhome中用到的是:
axes(handles.axes1)
hText=text(.5,.5,...
    '$$\frac{4(s-2)}{(s-3)(s-5)}$$',...
    'interpreter','latex','fontsize',12);
他只能显示一个啊,我的sys是通过InputDlg得到的,是个变量,那该怎么显示呢?

bainhome 发表于 2009-5-7 10:31

先报版本号和运行结果,如有图给出图示,否则答案只能是下面这些:
...你可以告诉我该安装什么呢?
答:MATLAB
...做一些什么处理呢?
你怎么运行你自己的GUI,就怎么运行这个GUI。
ps:你的问题应该没有这个图复杂吧:

[ 本帖最后由 bainhome 于 2009-5-7 10:34 编辑 ]

sanalex 发表于 2009-5-7 11:20

没你那复杂。我把我做的传上来看看吧!

sanalex 发表于 2009-5-7 11:22

我是想在axes1上显示传递函数,axes2上显示零极点传递函数。
MATLAB Version 7.0.0.19920 (R14)
MATLAB License Number: 0
Operating System: Microsoft Windows XP Version 5.1 (Build 2600: Service Pack 2)
Java VM Version: Java 1.4.2 with Sun Microsystems Inc. Java HotSpot(TM) Client VM

bainhome 发表于 2009-5-7 11:49

1.如果手动输入,用我上面的办法应该可以直接运行,不过你所用的这个版本我没记错的话,是mathworks公司历代中最滥的一个版,因此后来没多久就推出了7.0.4来修正这一版中的多个bug,假如你无法运行我给出的GUI,应该就是在这一版中对tex字符支持不够造成的(与前述bug无关),既然你仍然没有给出运行结果,所以我只能如此猜测(大致也应当如此)。
2.无论是否版本的问题,如果是自动输入,出现这一行没什么问题:sys=zpk(,,4)转成字符串即可text(.5,.5,'sys=zpk(,,4)'),或者直接在图形下面放一个edit,加一个按钮,callback里用eval执行该命令即可。但同时显示输出结果难度很大,恐怕要考虑不同输入情况下的可能,进行字符串的组合,同时个人认为没有太大必要,有第一句在图内显示,稍微懂行的人就已经知道你要干什么了,又不是做课件什么的。
测试如下代码:
sys=zpk(,,4);
step(sys)
hy=get(gca,'ylim');
hx=get(gca,'xlim');
hText1=text(hx(2)/3,2*hy(2)/3,'sys=zpk(,,4)');
hText2=text(hx(2)/2,hy(2)/2,...
    '$$\frac{4(s-2)}{(s-3)(s-5)}$$',...
    'interpreter','latex','fontsize',12);
如不能出现如下结果,建议更换更高版本。

[ 本帖最后由 bainhome 于 2009-5-7 12:31 编辑 ]

sanalex 发表于 2009-5-7 12:23

呵呵,我就是做教学演示的那种啊,不过还是很感谢哦!
页: [1]
查看完整版本: 怎么将公式串显示在axes上