Мне нужно заполнить матрицу по значению, взятому из такого вектора - PullRequest
1 голос
/ 04 октября 2019

У меня проблема, например, у меня есть вектор X длины 32x1 и матрица M размера (32,32) Мне нужно скопировать значения вектора X в матрицу M,например, я сделал это, используя Matlab, как показано ниже:

clear all; clc; 
X = randn(32,1); 
M = zeros(length(X),length(X));
for i = 1: length(X)
    M(i:length(X),i) = X(1:length(X)-i+1);
end

как я могу это сделать в python, я попытался сделать это, как показано ниже, но у меня возникла проблема !!

import numpy as np
X= np.random.random(32,)
X_len = len(X)
s = (X_len ,X_len )
M= np.zeros(s, dtype=int)
for i in range(X_len):
    M[i: X_len , i] = X[0: X_len - i]

Я думаю, что это не так !! это дает ошибку. Эта матрица M все еще с нулями значений !! оно не меняется, однако код не выдает ошибку!

заранее спасибо

1 Ответ

1 голос
/ 04 октября 2019

Вы просто должны заменить M= np.zeros(s, dtype=int) этой командой M= np.zeros(s) и проверить. Это должно быть хорошо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...