在python

时间:2017-03-24 06:41:25

标签: python python-2.7 python-3.x numpy

我正在尝试编写名为 plotting 的函数,该函数接受i / p参数Z,p和q并绘制函数

f(y) = det(Z − yI) on the interval [p, q]

(注意:我是单位矩阵。)det()是决定因素。

要查找det(),可以使用numpy.linalg.det() 对于indentity矩阵,np.matlib.identity(n)

有没有办法在python中编写这样的函数?并策划他们?

import numpy as np

def f(y):
    I2 = np.matlib.identity(y)
    x = Z-yI2
    numpy.linalg.det(x)
    ....

我尝试的是正确的吗?任何替代方案?

1 个答案:

答案 0 :(得分:2)

您可以使用以下实现。

import numpy as np
import matplotlib.pyplot as plt

def f(y, Z):  
    n, m = Z.shape
    assert(n==m)
    I = np.identity(n)
    x = Z-y*I
    return np.linalg.det(x)

Z = np.matrix('1 2; 3 4')
p = -15
q = 15
y = np.linspace(p, q)
w = np.zeros(y.shape)

for i in range(len(y)):
    w[i] = f(y[i], Z)

plt.plot(y, w)
plt.show()

enter image description here