Как создать символьную матрицу? Необходимо создать символьную матрицу произвольного размера. Писал функцию, но что-то пошло не так. Так как это часть большого кода, то с numpy полностью на sympy не намерен.
Вот код:import numpy as np
from sympy import *
shape = (4,4)
X = np.empty(shape)
for i in range(shape[0]):
for j in range(shape[1]):
X[i][j] = Symbol("x"+'_{'+str(i*10+j+11)+'}')
Пишит, разумееться:224 if result.is_number and result.as_real_imag()[1]:
225 raise TypeError("can't convert complex to float")
--> 226 raise TypeError("can't convert expression to float")
227
228 def __complex__(self):
TypeError: can't convert expression to float

21 Авг 2019 в 06:08
171 +1
0
Ответы
1

Проблема в том, что вы используете библиотеку NumPy, которая предназначена для работы с числовыми данными, а вы пытаетесь сохранить символьные переменные из библиотеки sympy в массив NumPy.

Вместо этого, вам следует использовать матрицы sympy для работы с символьными данными. Вот пример кода, который создает символьную матрицу с помощью библиотеки sympy:

from sympy import symbols, Matrix
n = 4
m = 4
X = Matrix([[symbols(f'x_{i*10+j+11}') for j in range(m)] for i in range(n)])
print(X)

Этот код создаст символьную матрицу размером 4x4, где каждый элемент будет символьной переменной вида x_i.

20 Апр 2024 в 13:23
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир