声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1093|回复: 5

[编程技巧] 小菜一问(急)

[复制链接]
发表于 2006-11-1 14:31 | 显示全部楼层 |阅读模式

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

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

x
在学习过程中遇到了一个小问题:
有如下语句:
syms r r1 r2 ;
%r1=(R+r^2/2*R-l1)*r/R;
%r2=r1-d*tan(asin(sin(atan(r/R)))/n);
[r,r1]=solve('r1=(R+r^2/2*R-l1)*r/R','r2=r1-d*tan(asin(sin(atan(r/R)))/n)','r','r1')
其中n,d,l1,R都是函数的参数,目的是想从以上语句中将r和r1用r2表示,
我用slove命令提示解不出,
若将n,d,l1,R的具体值带入计算,结果为:empty sym

请教高手该如何计算.Thank you!

[ 本帖最后由 lxq 于 2006-11-8 21:55 编辑 ]
回复
分享到:

使用道具 举报

发表于 2006-11-8 21:22 | 显示全部楼层
有时候,没有具体的符号解。
你把式子化一下,化为一边为=0,试一下,也许可以
发表于 2006-11-8 22:13 | 显示全部楼层

回复

用Matlab求了一下,找不到解析解.
我用Mathematica也算了一下原式,结果显示为不能用代数方式求解.
看来只能给定参数值,采用数值求解了.

[ 本帖最后由 xjzuo 于 2006-11-8 22:24 编辑 ]
发表于 2006-11-8 23:19 | 显示全部楼层

回复

我算了一个情形,即任取 l1= 1; R = 0.5; n = 2; d = 3时,可以作如下处理:
先定义非线性方程组function;然后r2作一个for循环,用fsolve求解function,得到一系列解{r,r1},最后可以plot(r2,r)以及plot(r2,r1),得到图形。

评分

1

查看全部评分

 楼主| 发表于 2006-11-9 15:24 | 显示全部楼层
请问楼上的朋友
"r2作一个for循环"
怎么理解?
发表于 2006-11-9 16:23 | 显示全部楼层

回复

for r2=1:n

调用fosolve()

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

本版积分规则

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

GMT+8, 2024-11-14 21:06 , Processed in 0.070077 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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