声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1639|回复: 10

[混合编程] 求解比较大型非线性符号方程用什么程序

[复制链接]
发表于 2011-4-14 20:59 | 显示全部楼层 |阅读模式

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

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

x
我想求解一大型符号方程,用solve解决不了,改怎样编程
回复
分享到:

使用道具 举报

发表于 2011-4-14 21:05 | 显示全部楼层
回复 1 # guowj513 的帖子

你这个问题要别人怎么回答啊,什么信息都没有?

点评

赞成: 5.0
赞成: 5
  发表于 2011-4-14 23:38
 楼主| 发表于 2011-4-14 22:02 | 显示全部楼层
本帖最后由 guowj513 于 2011-4-14 22:03 编辑

回复 2 # meiyongyuandeze 的帖子

我是根据LLC谐振变换器小信号方程求解传递函数,有很多变量都是符号,先求出表达式,最后代参数,例如I1=(Lm^2*Vg*m*n*W^2)/[n^2*(Lm^2*W^2+2*Lm*a*W+a^2)+Lm^2*a^2*W^2],m=8*b^2/pi^2,W=1/sqrt(Lr*Cr),I1的值使用solve求出的,想将m,W的值代入,求出最终表达式,该怎样编程,用solve是求不出来了
 楼主| 发表于 2011-4-16 08:00 | 显示全部楼层
哪位高人指点下啊,在下急用
发表于 2011-4-16 10:44 | 显示全部楼层
回复 3 # guowj513 的帖子

个人水平专业有限, 看过几次了还是没清楚LZ要什麼
或许LZ看过这些帖, 会知道我的意思
  建议提问的网友分清 编程问题 和 专业问题 http://forum.vibunion.com/thread-36746-1-1.html
   提问的智慧!!!!(发帖前请认真阅读) http://forum.vibunion.com/thread-21991-1-1.html

点评

赞成: 5.0
赞成: 5
  发表于 2011-4-17 01:24
 楼主| 发表于 2011-4-16 20:26 | 显示全部楼层
本帖最后由 guowj513 于 2011-4-16 20:30 编辑

不好意思,可能是我表达上的问题,这个问题就是求方程的问题,一步一步带入中间变量,得到最终的表达式,
I1=(Lm^2*Vg*m*n*W^2)/[n^2*(Lm^2*W^2+2*Lm*a*W+a^2)+Lm^2*a^2*W^2],
m=8*b^2/pi^2,
W=1/sqrt(Lr*Cr),现想将m,W的表达式进一步代入I1,求出基于自变量Vg,b,Lr,Lm,Cr的I1的表达式,该怎样去编程
发表于 2011-4-17 01:01 | 显示全部楼层
首先不知道你为什么要称你的问题是大型非线性符号方程,从你给的方程至少看不出来!
跟进你的两外两个帖子,好好领会了你的说法,大概明白了你的意思,应该是符号的替代运算吧,大概写了下:
  1. clc
  2. clear
  3. syms m b W Lr Cr
  4. f1=sym('(Lm^2*Vg*m*n*W^2)/[n^2*(Lm^2*W^2+2*Lm*a*W+a^2)+Lm^2*a^2*W^2]');
  5. f2=sym('8*b^2/pi^2');
  6. f3=sym('1/sqrt(Lr*Cr)');
  7. g=compose((compose(f1,f2,m,b)),f3,W,Lr)
复制代码
结果:
  1. g =
  2. 8*Lm^2*Vg*b^2/pi^2*n/Lr/Cr/[n^2*(Lm^2/Lr/Cr+2*Lm*a/(Lr*Cr)^(1/2)+a^2)+Lm^2*a^2/Lr/Cr]


复制代码
用到的是matlab中复合函数的命令,请参见help compose,祝好!

评分

1

查看全部评分

 楼主| 发表于 2011-4-17 09:07 | 显示全部楼层
谢谢了,我只是举个例子,实际I1的值在matlab命令窗口中无法一次全部截图截下来,所以我举了个简单点的例子,呵呵!
发表于 2011-4-17 10:06 | 显示全部楼层
本帖最后由 meiyongyuandeze 于 2011-4-17 12:53 编辑

回复 8 # guowj513 的帖子

推荐你一个关于符号运算的命令集合的一个pdf,如不知道对你是否有帮助,也算共享了吧。
matlab17.pdf (84.85 KB, 下载次数: 9)
本文档源自网络非原创,具体是什么网站因为很久以前下的所以不记得了!
上面的命令主要是以matlab5版本为例,如果是较高的版本话,有些初等运算的命令可能有变化,如:symadd可以用“+”替代,具体也没怎么整理。
发表于 2011-4-17 14:27 | 显示全部楼层

我想LZ还没空看5F的连接吧!?
LZ举一个无法代表原题目的简单例子, 再说不是这样简单, 真叫人不敢出手相助啊...
无法一次全部截图截下来, 就把原来的程序给齐不就好??
发表于 2011-4-21 10:48 | 显示全部楼层
学习学习~~~~··
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-5-10 15:26 , Processed in 0.068704 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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