Olg*_*a M 4 python linear-algebra
我在 R4 中有 4 个点及其坐标:
P1:[x1, y1, z1, w1]
P2:[x2, y2, z2, w2]
P3:[x3, y3, z3, w3]
P4:[x4, y4, z4, w4]
Run Code Online (Sandbox Code Playgroud)
现在如何在 Python 中定义这些点的超平面?
另外,鉴于我有 4 个超平面的方程,我如何获得它们的交点(应该是一个点)?
谢谢!奥。
超平面方程。
给定非零常数 K 和一组系数a ={a_1 ... a_n},Rn 中的超平面可以描述为求解方程的点集x =(x_1 .. x_n)
总和(a_n * x_n) = k
在 R4 中选择 k=1,并且
X=(P1;P2;P3;P4)
你可以通过这样做来解决你的系数a
X a = 1
a = X^-1 * 1
第 2 部分基本相同。
有4组方程
x a = k
属于他们所有人的点可以解决为
x = k ' A^-1
在 numpy 上是:
import numpy as np
def hyper4(p1,p2,p3,p4):
X=np.matrix([p1,p2,p3,p4])
k=np.ones((4,1))
a=numpy.matrix.dot(np.linalg.inv(X), k)
print "equation is x * %s = 1" % a
return a
Run Code Online (Sandbox Code Playgroud)
用法:
hyper4([0,0,1,1],[0,3,3,0],[0,5,2,0],[1,0,0,7])
Run Code Online (Sandbox Code Playgroud)
就这一点而言
a1=hyper4(P1,P2,P3,P4)
a2=hyper4(P5,P6,P7,P8)
a3=hyper4(P9,P10,P11,P12)
a4=hyper4(P13,P14,P15,P16)
A=np.hstack([a1,a2,a3,a4])
k=np.ones((1,4))
x=numpy.matrix.dot(k, np.linalg.inv(A))
print "your point is %s" % x
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2934 次 |
| 最近记录: |