24小时热门版块排行榜    

查看: 2680  |  回复: 12

yihu_55

银虫 (正式写手)

[求助] matlab求三元4次符号代数方程组,出现warning且答案不正确,该怎么办? 已有1人参与

是为了求一个截断椭圆的曲线方程,椭圆长半轴、短半轴以及中心点的高度分别是 未知量 a, b 和 m.

matlab求三元4次符号代数方程组,出现warning且答案不正确,该怎么办?
截断椭圆.jpg

椭圆方程因此为:

matlab求三元4次符号代数方程组,出现warning且答案不正确,该怎么办?-1
椭圆方程.jpg

另 x=0, 可得到 Rco; 对曲线方程求导后另 x=0, 可得到 tan(theta);

matlab求三元4次符号代数方程组,出现warning且答案不正确,该怎么办?-2
方程组.jpg

三个未知数 a、b、m,三个方程①②③,用matlab 求解符号代数方程的函数 “solve(‘equ1’,‘equ2’,…‘var1’,‘var2’…) ”,却得不到结果,这是为什么?请指教,谢谢
(程序中 theta用 c 表示, Rco 用 r 表示,Req 用 p 表示)

matlab求三元4次符号代数方程组,出现warning且答案不正确,该怎么办?-3
求指教.jpg

[ Last edited by yihu_55 on 2014-2-24 at 16:27 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ju5200

木虫 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
c r p 直接带入已知数值 应该就好了
2楼2014-02-24 16:28:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yihu_55

银虫 (正式写手)

引用回帖:
2楼: Originally posted by ju5200 at 2014-02-24 16:28:55
c r p 直接带入已知数值 应该就好了

其实 Rco, Req, theta并不是真正意义的已知量,我现在是想通过这三个方程将 a, b, m 用 Rco, Req, theta 这三个量表示出来并带入 ③式,然后对 ③式两边求导,形成一个包含Rco, Req, theta的方程,再和另外两个由Rco, Req, theta组成的方程联立,最终求解这三个量(Rco, Req, theta)。
已经根据物理模型列出关于Rco, Req, theta的两个方程来了,还差一个,不知道该怎么办,才想通过几何上的关系再列一个的……
3楼2014-02-24 16:40:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ju5200

木虫 (正式写手)

引用回帖:
3楼: Originally posted by yihu_55 at 2014-02-24 16:40:49
其实 Rco, Req, theta并不是真正意义的已知量,我现在是想通过这三个方程将 a, b, m 用 Rco, Req, theta 这三个量表示出来并带入 ③式,然后对 ③式两边求导,形成一个包含Rco, Req, theta的方程,再和另外两个由R ...

“将 a, b, m 用 Rco, Req, theta 这三个量表示出来并带入 ③式,然后对 ③式两边求导,形成一个包含Rco, Req, theta的方程”
同样的方程 你求导后虽然得到形式不同的新的方程 但是你这个方程跟其他三个组成线性相关方程组 他们的自由度还是三个 所以是解不出来的  建议通过几何上的关系寻找新方程 而不是在现有方程基础上化简

» 本帖已获得的红花(最新10朵)

4楼2014-02-24 16:45:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yihu_55

银虫 (正式写手)

送红花一朵
引用回帖:
4楼: Originally posted by ju5200 at 2014-02-24 16:45:58
“将 a, b, m 用 Rco, Req, theta 这三个量表示出来并带入 ③式,然后对 ③式两边求导,形成一个包含Rco, Req, theta的方程”
同样的方程 你求导后虽然得到形式不同的新的方程 但是你这个方程跟其他三个组成线性相 ...

可是就现有的由方程①②③组成的方程组来说,他们是三个未知数三个方程,是应该有解的吧?(就是指 a, b , m 能由 Rco, Req, theta表示出来)?

至于后面的对 ③ 式求导得到“包含Rco, Req, theta的微分方程,其实本来就是想将这三个方程简化为一个微分方程用来形成另一套的方程的,这种后续工作对前者解①②③方程组应该没有影响吧?求导后的微分方程不会在这里用啊……
5楼2014-02-24 16:58:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ju5200

木虫 (正式写手)

引用回帖:
5楼: Originally posted by yihu_55 at 2014-02-24 16:58:20
可是就现有的由方程①②③组成的方程组来说,他们是三个未知数三个方程,是应该有解的吧?(就是指 a, b , m 能由 Rco, Req, theta表示出来)?

至于后面的对 ③ 式求导得到“包含Rco, Req, theta的微分方程,其 ...

理论上有解 但是不确定是否能解出来
微分方程需要设置初始值 况且就算你设置初始值截出来的方程很有可能比现有方程更复杂
按照你的想法化简后的微分方程截出来的方程跟原方程同解不同解还需验证

» 本帖已获得的红花(最新10朵)

6楼2014-02-24 17:06:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yihu_55

银虫 (正式写手)

送红花一朵
引用回帖:
6楼: Originally posted by ju5200 at 2014-02-24 17:06:54
理论上有解 但是不确定是否能解出来
微分方程需要设置初始值 况且就算你设置初始值截出来的方程很有可能比现有方程更复杂
按照你的想法化简后的微分方程截出来的方程跟原方程同解不同解还需验证...

现在解①②③方程组应该根本不用考虑微分方程的事,那是解出这个代数方程组之后的事啊。

而且化简为一个微分方程后,复不复杂也与原方程没有关系了吧,它将会和另外两个由物理模型得到的微分方程构成方程组的,初始值也将由物理模型给定。

现在关键的问题就是理论上 a, b , m 能由 Rco, Req, theta表示出来,但为什么matlab计算不出来的问题,你知道原因吗?
7楼2014-02-24 17:16:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ju5200

木虫 (正式写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
yihu_55: 金币+15, ★★★很有帮助 2014-02-24 22:13:42
我试了一下 可以求解出来 你自己对照一下代码
楼主给币币 哈哈
代码:
clear;
clc;
syms a b m c r p;
f=tan(c)-r*(b^2)/(a^2)/2;
g=r-a*sqrt((b^2-m^2))/b;
k=a^2*(3*m*b^2+2*b^3-m^3)/(b^2)-4^p^3;
[d,e,s]=solve(f,g,k)
求解结果:
d =

  (b*(-(4*a^4*tan(c)^2 - a^2*b^4)/b^4)^(1/2))/a
-(b*(-(4*a^4*tan(c)^2 - a^2*b^4)/b^4)^(1/2))/a


e =

log((b*(2*a - (-(4*a^4*tan(c)^2 - a^2*b^4)/b^4)^(1/2))*(a + (-(4*a^4*tan(c)^2 - a^2*b^4)/b^4)^(1/2))^2)/a)/(6*log(2))
log((b*(a - (-(4*a^4*tan(c)^2 - a^2*b^4)/b^4)^(1/2))^2*(2*a + (-(4*a^4*tan(c)^2 - a^2*b^4)/b^4)^(1/2)))/a)/(6*log(2))


s =

(2*a^2*tan(c))/b^2
(2*a^2*tan(c))/b^2
8楼2014-02-24 21:03:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yihu_55

银虫 (正式写手)

引用回帖:
8楼: Originally posted by ju5200 at 2014-02-24 21:03:02
我试了一下 可以求解出来 你自己对照一下代码
楼主给币币 哈哈
代码:
clear;
clc;
syms a b m c r p;
f=tan(c)-r*(b^2)/(a^2)/2;
g=r-a*sqrt((b^2-m^2))/b;
k=a^2*(3*m*b^2+2*b^3-m^3)/(b^2)-4^p^3;
=so ...

辛苦你了,可是代码第四行:
f=tan(c)-r*(b^2)/(a^2)/2;
分号前面不是 2 ,应该是 m,另外解出来的 d, e, s 是什么,我是想把 a, b, m 用 c, r, p 表示出来啊……
9楼2014-02-24 22:15:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ju5200

木虫 (正式写手)

引用回帖:
9楼: Originally posted by yihu_55 at 2014-02-24 22:15:48
辛苦你了,可是代码第四行:
f=tan(c)-r*(b^2)/(a^2)/2;
分号前面不是 2 ,应该是 m,另外解出来的 d, e, s 是什么,我是想把 a, b, m 用 c, r, p 表示出来啊……...

其实我这里的d e s就是a b m 不过程序里有点问题 应当指定自变量  抱歉
你的代码也是对的 不过最后结果里出现了Z1
符号方程求解结果里带了Z1 说明matlab 解不出解析解
可以使用其他数学软件试一下 如1stOpt
10楼2014-02-24 22:30:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 yihu_55 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 某些机构,以效率低为荣,以效率低作为存在感 +4 yuleib84 2026-08-25 5/250 2026-08-25 14:19 by xuqiangluo
[基金申请] 在坚冰还盖着北海的时候,我看到了怒放的梅花。 +3 ziyangfang 2026-08-25 3/150 2026-08-25 13:14 by huagongfeihu
[基金申请] 如果此刻你正在为国基感到焦虑,不妨来听听这首《基金之外》 +8 scalable 2026-08-24 8/400 2026-08-25 12:52 by jnhyjjm
[基金申请] 没有任何消息-是不是就凉了 +9 图啦图啦 2026-08-24 10/500 2026-08-25 11:59 by 南海小哥
[基金申请] 人气不行了 +11 fansofjerry 2026-08-21 11/550 2026-08-25 11:04 by 孤独的英雄6
[基金申请] 2026国自然函评费到账 +19 羊腰板 2026-08-21 22/1100 2026-08-25 10:38 by popular289
[基金申请] 今天基金会出结果吗?20260819 +17 kkkl_v 2026-08-19 18/900 2026-08-25 09:41 by windflowerwy
[基金申请] 范进中举一文的中心思想 +7 炎黄贵胄 2026-08-22 8/400 2026-08-25 08:48 by ZJTJZ
[基金申请] 只有每年这种时候来逛逛小木虫 +25 yaoyewhu2008 2026-08-20 27/1350 2026-08-25 08:01 by Equinoxhua
[基金申请] 明天应该可查了!? +5 chengyan1220 2026-08-23 5/250 2026-08-24 23:28 by 我4大白菜
[基金申请] 能否退出参与的面上项目解除限项 +21 koalala 2026-08-24 24/1200 2026-08-24 19:25 by 家与远方
[基金申请] 让我中一个面上吧! +13 大萍1987 2026-08-20 16/800 2026-08-24 10:23 by 太傻了
[教师之家] 跳槽后在研项目怎么办? +5 简单化xn 2026-08-22 10/500 2026-08-23 12:38 by 简单化xn
[基金申请] 今天放榜吗? +15 布布和一二 2026-08-19 16/800 2026-08-23 09:55 by 张春生
[基金申请] 时间戳今天,20号变了 +5 archvillain 2026-08-20 5/250 2026-08-22 06:12 by hui_daxiao
[基金申请] 看来今天不会放榜了? +8 chengyan1220 2026-08-21 11/550 2026-08-21 17:52 by dcqxinyang
[基金申请] 应该是下周三26日公布了吧? +4 哈哈蛤? 2026-08-21 4/200 2026-08-21 10:58 by Vivilian
[基金申请] 今天放榜没戏了吧 +9 yuleib84 2026-08-19 11/550 2026-08-21 10:06 by gltch
[基金申请] 基金啊基金 +4 longfie172 2026-08-20 4/200 2026-08-21 08:58 by mark mao
[基金申请] 明天放榜? +5 Shxjjxjkx 2026-08-18 5/250 2026-08-18 18:14 by -大大大大大-
信息提示
请填处理意见