24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1559  |  回复: 11

布谷噔噔

银虫 (小有名气)

[求助] 【求助】Mathmatica求两条曲线的公切线已有1人参与

如题,我想用mathmatica求解两个相的状态方程的曲线的公切线,用来计算相变压强,哪位大神帮我看看哪儿错了,不胜感激!
f[x_] := -21.59424 + (9.0/16.0)*0.65709*59.07655*((3.50677 - 4)*(59.07655/x)^(2.0/3.0) -
3.50677 + 6)*(((59.07655/x)^(2.0/3.0) - 1)^2)
g[x_] := -21.5227 + (9.0/16.0)*0.66979*57.91413*((3.96755 - 4)*(57.91413/x)^(2.0/3.0) -
3.96755 + 6)*(((57.91413/x)^(2.0/3.0) - 1)^2)
eqn = {m == f[n], p == g[q], f'[n] == g'[q], g'[q] == (m - p)/(n - q)};
sol = Solve[eqn, {m, n, p, q}]

[ Last edited by 布谷噔噔 on 2014-3-7 at 10:12 ]
回复此楼
地球人类虫虫,你们弱爆了!20111202~20121202
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

cooooldog

铁杆木虫 (著名写手)

ส็็็

跟用什么软件没有关系; 是你计算公切线的方程有问题.

只需要两个未知数就可以.
你自己再试试, 在f(x)上和g(x)上各取一点
两个点之间的连线是公切线时满足
1.线的斜率等于f(x)上点的斜率
2.线的斜率等于g(x)在g(x)上另一点处的斜率
只需要两个未知数和两个方程

我前面的计算有小错误. 你最好自己从头再计算.
从6-7个解里面找最适合你的

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

ส็็็็็็็็็็็็็็็็็็็็
9楼2014-03-07 23:22:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

cooooldog

铁杆木虫 (著名写手)

ส็็็

你这曲线都是E-V曲线吗?
公切线为什么不是直接求切线斜率相等的两个点?然后比较

试验得到数据拟合的曲线最好还是不要严格求方程组; 近似解可能更好
ส็็็็็็็็็็็็็็็็็็็็
2楼2014-03-07 21:26:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

cooooldog

铁杆木虫 (著名写手)

ส็็็

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
布谷噔噔: 金币+20, ★★★★★最佳答案, 感谢您最终的答案,很有帮助。 2014-03-07 23:02:58
你的意思可能是, 通常求公切线都是两条曲线上各找一个点,两点之间的连线正好与两个曲线都相切...

那个是在曲线相离的时候,现在的情况是,
近似的公切线在两个曲线二次交叉的区域发生

你应该先画出两个曲线的图像,然后就应该明白为何老方法不行了
ส็็็็็็็็็็็็็็็็็็็็
3楼2014-03-07 21:41:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

cooooldog

铁杆木虫 (著名写手)

ส็็็

【答案】应助回帖

然后算出的参考答案应该是:

x1= 9.338577469520644
x2= 20.65932886310537
之间的连线是理想的公切线
ส็็็็็็็็็็็็็็็็็็็็
4楼2014-03-07 21:49:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

布谷噔噔

银虫 (小有名气)

引用回帖:
4楼: Originally posted by cooooldog at 2014-03-07 21:49:54
然后算出的参考答案应该是:

x1= 9.338577469520644
x2= 20.65932886310537
之间的连线是理想的公切线

感谢您的帮助,不过看起来好像不是您说的那样.
【求助】Mathmatica求两条曲线的公切线
图片1.png

地球人类虫虫,你们弱爆了!20111202~20121202
5楼2014-03-07 22:30:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

cooooldog

铁杆木虫 (著名写手)

ส็็็

引用回帖:
5楼: Originally posted by 布谷噔噔 at 2014-03-07 22:30:03
感谢您的帮助,不过看起来好像不是您说的那样.

图片1.png
...

这个问题从你提供的数据里有三组有效解;
斜率分别是:
x1 = 9.338577469520644, x2 = 20.65932886310537
  (f(x1) - f(x2))/(x1 - x2)
= -6.13206


x1 = 53.98811364118841, x2 = 53.08862321658676
  (f(x1) - f(x2))/(x1 - x2)
-0.0768376

x1 = 36.76507673365584, x2 = 37.42663389361421
  (f(x1) - f(x2))/(x1 - x2)
= -0.673941

或者你需要的是别的方法
ส็็็็็็็็็็็็็็็็็็็็
6楼2014-03-07 22:43:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

布谷噔噔

银虫 (小有名气)

引用回帖:
6楼: Originally posted by cooooldog at 2014-03-07 22:43:07
这个问题从你提供的数据里有三组有效解;
斜率分别是:
x1 = 9.338577469520644, x2 = 20.65932886310537
  (f(x1) - f(x2))/(x1 - x2)
= -6.13206


x1 = 53.98811364118841, x2 = 53.08862321658676
  ( ...

谢谢谢谢,应该就是第二个解了。佩服!想请教一下,您使用什么工具处理上面的数据的?
地球人类虫虫,你们弱爆了!20111202~20121202
7楼2014-03-07 23:02:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

布谷噔噔

银虫 (小有名气)

引用回帖:
6楼: Originally posted by cooooldog at 2014-03-07 22:43:07
这个问题从你提供的数据里有三组有效解;
斜率分别是:
x1 = 9.338577469520644, x2 = 20.65932886310537
  (f(x1) - f(x2))/(x1 - x2)
= -6.13206


x1 = 53.98811364118841, x2 = 53.08862321658676
  ( ...

我用maple处理的时候 只得到了第一组解。
地球人类虫虫,你们弱爆了!20111202~20121202
8楼2014-03-07 23:04:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

布谷噔噔

银虫 (小有名气)

送红花一朵
引用回帖:
9楼: Originally posted by cooooldog at 2014-03-07 23:22:33
跟用什么软件没有关系; 是你计算公切线的方程有问题.

只需要两个未知数就可以.
你自己再试试, 在f(x)上和g(x)上各取一点
两个点之间的连线是公切线时满足
1.线的斜率等于f(x)上点的斜率
2.线的斜率等于g(x)在 ...

好的,十分感谢!
地球人类虫虫,你们弱爆了!20111202~20121202
10楼2014-03-08 10:00:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 布谷噔噔 的主题更新
信息提示
请填处理意见