3个回答
展开全部
不是很明确你需要做到什么程度,但基本可以通过以下两个手段得到:
手工解方程得到解析解,然后套入公式
使用一些工具包例如numpy可以自动求解
以下都给出例子
import numpy as np
import matplotlib.pyplot as plt
plt.axis("equal")
a = np.linspace(1,10,100) # a 的变化范围可以自己挑,前两个参数控制,
# 使用 numpy 自动求解
res = []
for x in a:
A = np.mat("1, 2; {}, -1".format(x))
b = np.mat("{}, 10".format(x)).T
res.append(np.linalg.solve(A, b))
# 计算完毕后取出每对x和y
x1 = [float(r[0]) for r in res]
y1 = [float(r[1]) for r in res]
plt.plot(x1, y1)
#####################################
# 手工计算过程很简单不放上来了,直接上结果
x2 = [(a1 + 20) / (2*a1 + 1) for a1 in a]
y2 = [(a1**2 - 10) / (2*a1 + 1) for a1 in a]
plt.plot(x2, y2)
展开全部
你好,根据你的方程组,我们可以得到x和y用a来表示的结果,然后我们就可以利用这些信息来画图了, 下面是对应的代码
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
data = np.random.randint(0, 255, size=[100, 100, 100])
x, y, a = data[0], data[1], data[2]
for index in range(100):
x[index] = (a[index]+20)/(1+2*a[index])
y[index] = a[index]*x[index] -10
ax = plt.subplot(111, projection='3d') # 创建一个三维的绘图工程
ax.scatter(x[:100], y[:100], a[:100], c='y') # 绘制数据点
ax.set_zlabel('a') # 坐标轴
ax.set_ylabel('Y')
ax.set_xlabel('X')
plt.show()
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2019-03-12
展开全部
肯定要有一个公式,然后方法传参
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询