查看: 3511|回复: 2|关注: 0

[已答复] Matlab 求救方程时 方程有很多中间变量且表达式复杂,多变

[复制链接]

新手

32 麦片

财富积分


050


50

主题

179

帖子

4

最佳答案
  • 关注者: 3
发表于 2016-1-5 16:19:47 | 显示全部楼层 |阅读模式
大家好,我再求解方程或者方程组时,有时候会碰到一些方程中有很多中间变量,而这些中间变量又比较复杂,而且会变化。这里变化是指随着物理意义的变化,表达式要修改。举一个简单例子:
QQ截图20160105162237.png
比如我要求求解表达式(7) ,我就得先把下面公式代入。对于这个公式不复杂,可是有时候待求解的公式很复杂,或者是一个大的方程组。
而中间变量也很多而且表达式也很复杂,有时候随着具体情况不同,中间变量表达式还会变化。如果直接代入手动求解表达式,就很麻烦而且有时候还不好解。
对于这个公式的求解:
n=1.5;
d=35;
fun=@(x,z2)-(d+z2)./cos(x).^2./((n.*cos(x)-sqrt(cos(x)))./(n.*sin(x)-sin(acos(sqrt(cos(x)))))+tan(x));
[x,z]=ode45(fun,[0:1/180*pi:50./180.*pi],[0]);
y=(d+z(:,1)).*tan(x);
figure
plot(y,z)
xlabel('y')
ylabel('z')
我也是代入计算最终的表达式,如果遇到复杂的就难搞了。
请教有没有好的方法求解。
最好不要使用符号向量,因为使用符号向量速度慢,而且我要的是数值解,不关心它最后的表达式是什么样。

回复主题 已获打赏: 0 积分

举报

书籍作者

364 麦片

财富积分



12

主题

974

帖子

75

最佳答案
  • 关注者: 65
发表于 2016-1-5 17:04:24 | 显示全部楼层
您好,书中介绍嵌套函数的章节有关于一些类似案例,你可以参考下其中传递表达式、参数的技巧,看是否有帮助。
回复此楼 已获打赏: 0 积分

举报

新手

32 麦片

财富积分


050


50

主题

179

帖子

4

最佳答案
  • 关注者: 3
 楼主| 发表于 2016-1-11 14:48:46 | 显示全部楼层
吴鹏 发表于 2016-1-5 17:04
您好,书中介绍嵌套函数的章节有关于一些类似案例,你可以参考下其中传递表达式、参数的技巧,看是否有帮助 ...

多谢 吴老师
回复此楼 已获打赏: 0 积分

举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

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