声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1788|回复: 6

[综合讨论] 关于 matlab 与 latex 的关系

[复制链接]
发表于 2007-7-3 22:46 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
关于MATLAB与LATEX的关系

请教各位前辈
1) MATLAB的解析解如何用LATEX表示?书上说用LATEX()命令就可以的,可是我怎摸用这个命令不起作用.输出结果比MATLAB本身更难看.
2)MATLAB中除了图表中可以用希腊字母外,程序中怎摸输入希腊字母?
我是初学者,望指教.谢谢!!:@)

[ 本帖最后由 eight 于 2007-7-5 15:16 编辑 ]
回复
分享到:

使用道具 举报

发表于 2007-7-4 09:26 | 显示全部楼层
mathworks网站上的一个函数。楼主可以试试。将符号表达式转化为我们方便看的形式

  1. function sexy(s)
  2. %SEXY   Display a symbolic expression in human readable form.
  3. % SEXY(S) displays the symbolic expression S in a small figure window,
  4. % using standard mathematical notation.
  5. %
  6. % Examples:
  7. %   syms x t positive
  8. %   f=taylor(cos(x));
  9. %   sexy(f)
  10. %   f=int(exp(-t)*t^(x-1),t,0,inf);
  11. %   sexy(f)
  12. %
  13. % Required toolboxes: Symbolic Math
  14. %
  15. % See also ...\symbolic\pretty.

  16. % Author: Naor Movshovitz
  17. % email: [email]lazy_n@yahoo.com[/email]
  18. % May 2006

  19. if ~isa(s,'sym')
  20.     error('Argument must be of class ''sym''.')
  21. end

  22. S=['$',latex(s),'$'];
  23. S=strrep(S,'&','& \quad');
  24. S=strrep(S,'{\it','\mathrm{');
  25. h=msgbox(S,'Sexy');
  26. h1=get(h,'children');
  27. h2=h1(1);
  28. h3=get(h2,'children');
  29. if isempty(h3)
  30.     h2=h1(2); h3=get(h2,'children');
  31. end
  32. set(h3,'visible','off')
  33. set(h3,'interpreter','latex')
  34. set(h3,'string',S)
  35. set(h3,'fontsize',12)
  36. w=get(h3,'extent');
  37. W=get(h,'position');
  38. W(3)=max(w(3)+10,125);
  39. W(4)=w(4)+40;
  40. set(h,'position',W)
  41. h4=h1(2);
  42. if ~strcmp(get(h4,'tag'),'OKButton'), h4=h1(1); end
  43. o=get(h4,'position');
  44. o(1)=(W(3)-o(3))/2;
  45. set(h4,'position',o)
  46. set(h3,'visible','on')
复制代码
 楼主| 发表于 2007-7-4 09:47 | 显示全部楼层

关于MATLAB与LATEX的关系

非常感谢前辈指点!!我试试看.可是书上说的LATEX()函数是怎摸回事?

MATLAB中除了图表中可以用希腊字母外,程序中怎摸输入希腊字母?不可以输入吗?

:@)
 楼主| 发表于 2007-7-4 09:57 | 显示全部楼层

再次求教

新建 Microsoft Word 文档-1.doc (18.5 KB, 下载次数: 12) %附加原问题在附件

>> mu1=0.3;
>> mu2=0.6;
>> omega0=1;
>> GV=0.3;
>> alpha1=4;
>> alpha2=0.5;
>> alpha3=0.2;
>> beta1=1;
>> gamma1=5*GV/(8*omega0);
>> gamma2=(3*alpha1-3*alpha2+alpha3)/(8*omega0);
>> Q1=beta1/(2*omega0);
>> ezplot('(mu1*a+mu2*a^2-gamma1*a^5)^2+(sigma1*a-gamma2*a^3)^2-Q1^2',[0 10])
??? Error using ==> char
Cell elements must be character arrays.

Error in ==> D:\MATLAB6p5\toolbox\matlab\specgraph\ezplot.m
On line 138  ==>             fmsg = char(f);
发表于 2007-7-4 10:25 | 显示全部楼层
MATLAB的解析解用LATEX表示?你完全可以用matlab计算出解析解之后转化一下,就可以用latex表示了
发表于 2007-7-4 10:39 | 显示全部楼层
原帖由 mechanic05 于 2007-7-4 09:47 发表
非常感谢前辈指点!!我试试看.可是书上说的LATEX()函数是怎摸回事?

MATLAB中除了图表中可以用希腊字母外,程序中怎摸输入希腊字母?不可以输入吗?

:@)


不明白你说的程序中输入希腊字母什么意思???MATLAB当然不认识α β γ了,我们往往在程序中用alpha beta gamma表示它们
latex是一种排版程序,写论文经常用到它。LATEX()转化的就是latex软件认识的形式。

评分

1

查看全部评分

 楼主| 发表于 2007-7-4 11:49 | 显示全部楼层

回复 #6 rocwoods 的帖子

可是我看的MATLAB书上说用LATEX()就可以直接将解析结果转化成LATEX的排版形式,不再需要另外的程序转换.我在怀疑我的MATLAB版本是6.5的缘故.
麻烦看一下我的附件,想画一个幅频响应曲线.其余参数都给定了.a代表振幅,sigma1代表频率扰动,就画他们之间的关系图.我画出的和elsvier上相关文章的原图相差很大.我直接用隐函数画图函数画的.请问直接画可以吗?

新建 Microsoft Word 文档-1.doc

18.5 KB, 下载次数: 12

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-9-24 05:28 , Processed in 0.064687 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表