Я пытался выяснить, как использовать эту функцию, но не могу заставить x
что-либо сделать. Всякий раз, когда я вводю числовое значение для x
, оно говорит мне, что оно не может работать из-за проблемы с размером.
Что мне делать?
import numpy as np
from scipy.sparse import diags, kron, identity
from scipy.sparse.linalg import inv
import matplotlib.pyplot as plt
def laplacian_1D(x):
"""Construct the 1D Laplacian matrix on the domain defined by x. Note that
we assume a constant spacing.
Parameters
----------
x : array-like, shape (nx, )
One dimensional mesh.
Returns
-------
A : scipy sparse matrix, shape (nx, nx)
Laplacian matrix.
"""
# -->
n = x.size
# -->
dx = x[1]-x[0]
# -->
d2 = [np.ones(n-1), -2*np.ones(n), np.ones(n-1)]
# -->
A = diags(d2, [-1, 0, 1]) / dx**2
return A
print(laplacian_1D(10))
Ошибка читает
Traceback (most recent call last):
File "C:/Users/Andrew/PycharmProjects/ENSAM/Math/Exercise_1.py", line 52, in <module>
print(laplacian_1D(10))
File "C:/Users/Andrew/PycharmProjects/ENSAM/Math/Exercise_1.py", line 23, in laplacian_1D
n = x.size
AttributeError: 'int' object has no attribute 'size'