声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1623|回复: 9

[编程技巧] 符号变量太长不能显示的问题

[复制链接]
发表于 2009-9-25 12:51 | 显示全部楼层 |阅读模式

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

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

x
syms x1 x2 x3 x4 x5 x6 x7 x8 x9 x10;
a=x1+x3*cos(40*x10);
b=x2-x3*sin(40*x10);
e=2*atan((4*x4^2*(a^2+b^2)-(x4^2+a^2+b^2-x5^2)*(-2*x4*a)-(x4^2+a^2+b^2-x5^2)^(1/2)*2*x4*b)/((x4^2+a^2+b^2-x5^2)^(1/2)*(-2*x4*a)-(x4^2+a^2+b^2-x5^2)*2*x4*b));
c=a+x4*cos(e);
d=b+x4*sin(e);
m=a+x7*cos(e+x9);
n=b+x7*sin(e+x9);
q=asin((m+x8)/x6);
p=n+x6*cos(q);
f=diff(p,x10,2)
最后运行出来 结果太长显示 Output truncated.  Text exceeds maximum line length of 25,000 characters for Command Window display.,该怎么办,我需要对这个f函数进行优化,所以要把他编写成m文件,但是内容不全,该怎么办

[ 本帖最后由 friendchj 于 2009-9-26 03:55 编辑 ]
回复
分享到:

使用道具 举报

发表于 2009-9-25 14:56 | 显示全部楼层
如果想把F作为一个函数编成.m文件,最好不要运行,直接在主程序里优化试试。。。
 楼主| 发表于 2009-9-25 20:39 | 显示全部楼层
这样的话该怎么调用该函数呢?直接和调用m文件的方法一样是不行的吧?
发表于 2009-9-26 03:55 | 显示全部楼层

回复 楼主 hudu11111 的帖子

提示只是说Command Window 里不能显示,应该可以用。再f=diff(p,x10,2)
后加“;”。提示应该会去掉。

评分

1

查看全部评分

 楼主| 发表于 2009-9-26 09:30 | 显示全部楼层

回复 地板 friendchj 的帖子

我想显示出来在复制到m文件里做objfun,照你说的加;不显示,我该怎么用它,直接x=fmincon(f,。。。。。)?出错不能用啊
谢谢
发表于 2009-9-26 12:40 | 显示全部楼层
试试输出至一档案!
但有点好奇及怀疑! 超过25,000文字即使可以复制成objfun, 後续可以继续执行吗?

评分

1

查看全部评分

发表于 2009-9-26 12:43 | 显示全部楼层

回复 5楼 hudu11111 的帖子

我刚刚用2008a版本试了试,可以直接显示
>> subs(f,{x1,x2,x3,x4,x5,x6,x7,x8,x9,x10},{1,1,1,1,1,1,1,1,1,1})
ans =
-9.7247e+002 -5.1076e+003i

[ 本帖最后由 friendchj 于 2009-9-26 12:48 编辑 ]

评分

1

查看全部评分

 楼主| 发表于 2009-9-26 18:50 | 显示全部楼层

回复 6楼 ChaChing 的帖子

请问怎么输出至档案?谢谢!
发表于 2009-9-27 16:24 | 显示全部楼层
抱歉之前没时间试, 刚试了下! 我的版本是2006a,也是可以直接显示? 楼主什麽版本?

试试输出至档案
str=char(f); fid=fopen('Eqf.txt'); fprintf(fid,'%s',str); fclose(fid)

评分

1

查看全部评分

 楼主| 发表于 2009-9-27 20:18 | 显示全部楼层

回复 9楼 ChaChing 的帖子

我用的R2009a,谢谢,用你的办法输出了,非常感谢
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-14 17:36 , Processed in 0.089965 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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