Создайте матрицу m и установите в позиции mij = (i + j) * 10 - PullRequest
0 голосов
/ 21 февраля 2020

Я пытаюсь создать Матрицу 5x5 и присвоить каждой позиции матрицы значение, учитывая следующее mij = (i + j) * 10.

Например, в 1,1 это будет , (1 + 1) * 10 = 20

Matrix:
20  30  40  50  60

30  ...

40  ...

50  ...

60  ...

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

Ответы [ 3 ]

1 голос
/ 21 февраля 2020
> outer(1:5,1:5,"+")*10

     [,1] [,2] [,3] [,4] [,5]
[1,]   20   30   40   50   60
[2,]   30   40   50   60   70
[3,]   40   50   60   70   80
[4,]   50   60   70   80   90
[5,]   60   70   80   90  100
0 голосов
/ 21 февраля 2020

Другое базовое решение R помимо outer подхода @ user2974951

n <- 5
mat <-(t(replicate(n,seq(n)))+seq(n))*10

такое, что

> mat
     [,1] [,2] [,3] [,4] [,5]
[1,]   20   30   40   50   60
[2,]   30   40   50   60   70
[3,]   40   50   60   70   80
[4,]   50   60   70   80   90
[5,]   60   70   80   90  100
0 голосов
/ 21 февраля 2020

Вот наивное решение:

i <- 4
j <- 5
(matrix(1:j, i, j, byrow = TRUE) + matrix(1:i, i, j)) * 10
     [,1] [,2] [,3] [,4] [,5]
[1,]   20   30   40   50   60
[2,]   30   40   50   60   70
[3,]   40   50   60   70   80
[4,]   50   60   70   80   90
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...