zukou_779 发表于 2020-5-31 23:51:37

怎么求两个函数曲线的交点?

import numpy as np
import matplotlib.pyplot as plt
import math
x = np.linspace(0,80,50)
y1 = (2*x/(1+x))**0.5-1+1/(x**0.5)*(1-(2/(1+x))**0.5)
y2 = 2**0.5 -1+(1/x**0.5)*(2**0.5-1)

plt.title('Transfer')
plt.xlabel('R')
plt.ylabel('Required V[ /Vi]')
plt.plot(x,y1)
plt.plot(x,y2)

plt.show()

交点的横坐标怎么求T T以及交点的纵坐标,还有交点的话可以在图中标记出来吗?
初学Python,拿来做一个作业,但无奈知识太欠缺,在此先谢过!{:10_266:}

java2python 发表于 2020-6-1 02:32:01

本帖最后由 java2python 于 2020-6-1 02:33 编辑

其实这个问题个人是随意发表意见的,应该也算一种方法
首先解方程肯定是不予考虑的,数学太难了,无非是利用计算机的超强计算力,进行大量循环查找。
所谓交点,会产生位置关系变动(也不能绝对,还有相切的),原先黄线在上,焦点过后,黄线在下,当然一般函数都是连续的。。。
找到了这个区间,比如之间发生,在采用两分法,到底是,还是区间,
如此直到区间足够小,双方差距足够小,认为这点就是交点。如果其实区间是
采用10次可以精确到0.01
采用20次可以精确到0.00001
采用20次可以精确到0.00000001
...
再下去就小于宇宙中的任何尺寸了,不过数学上的精确是永远无法达到的的,除非这个交点是一个有限小数,连有理数(无限但循环)也搞不定
图中标记就简单了,因为计算机显示器上的图是按像素来的,都是千分之一精度的

BIO-张磊 发表于 2020-6-4 15:49:30

很抱歉,计算机的结果很难达到,为什么这么说,你在python甚至其他的一些语言里面输入 0.1+0.1 结果都是不准确的。
所以我们一般都是手工计算手工添加,或者使用循环无限逼近一个精度极高的值

jia159753 发表于 2020-6-4 20:54:07

大佬
页: [1]
查看完整版本: 怎么求两个函数曲线的交点?