диагональная матрица в R? - PullRequest
0 голосов
/ 30 апреля 2020

Может ли любое тело помочь написать диагональную матрицу A , как это в R, пожалуйста, помогите в этом отношении

> A
        [,1] [,2] [,3] [,4] [,5] [,6]
[1,]    -1    0    0    0    0    0
[2,]     0   -1    0    0    0    0
[3,]     0    0   -1    0    0    0 
[4,]     0    0    0   -1    0    0
[5,]     0    0    0    0   -1    0
[6,]     0    0    0    0    0   -1
[7,]     0    0    0    0    0    1

Ответы [ 2 ]

5 голосов
/ 30 апреля 2020

Матрица у вас не совсем диагональная , так как она не квадратная . Однако вы можете видеть, что там есть диагональная матрица.

Следующий код воспроизводит матрицу

    A1 <- diag(-1,6) ## creates a 6x6 diag with -1 on the diag
    A2 <- c(rep(0,5),1) ## make the bottom row
    A <- rbind(A1,A2) ## put A1 on top of A2

Тогда вы можете увидеть

    > A
   [,1] [,2] [,3] [,4] [,5] [,6]
     -1    0    0    0    0    0
      0   -1    0    0    0    0
      0    0   -1    0    0    0
      0    0    0   -1    0    0
      0    0    0    0   -1    0
      0    0    0    0    0   -1
A2    0    0    0    0    0    1
0 голосов
/ 30 апреля 2020

Вы можете попробовать следующее:

import numpy as np

A = np.zeros((7,6))

j = 0
for i in range(6):
  A[j,i] = -1
  j= j+ 1

A[j,5] = 1

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