Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R规划中的矩阵_R_Matrix - Fatal编程技术网

R规划中的矩阵

R规划中的矩阵,r,matrix,R,Matrix,最近在学习R编程时,有一个练习我搞不懂 此程序要求用户输入2x2数学矩阵的8个值。换句话说,一个2x2矩阵中有4个值,另一个2x2矩阵中有4个值 第二矩阵。 然后,如果用户想要对2个矩阵进行加法、减法、乘法或除法,程序应该让用户知道。打印记录 有关样本输出,请参见附件 在R中,如果有矩阵: m1 <- matrix(c(2,2,2,2), ncol = 2) m2 <- matrix(c(4,4,4,4), ncol = 2) 如果您将输入的值存储在列表中,您可以在矩阵中引用它

最近在学习R编程时,有一个练习我搞不懂

此程序要求用户输入2x2数学矩阵的8个值。换句话说,一个2x2矩阵中有4个值,另一个2x2矩阵中有4个值 第二矩阵。 然后,如果用户想要对2个矩阵进行加法、减法、乘法或除法,程序应该让用户知道。打印记录

有关样本输出,请参见附件


在R中,如果有矩阵:

m1 <- matrix(c(2,2,2,2), ncol = 2)
m2 <- matrix(c(4,4,4,4), ncol = 2)  
如果您将输入的值存储在列表中,您可以在
矩阵中引用它,如上所述:

matrix(user_input, ncol = 2)
#or
matrix(c(ui1, ui2, ui3, ui4), ncol = 2)

要请求用户输入,请看下面的答案:

我是R编程的高手,英语说得不太好,但我会尽力向您解释

首先,您可以像Amar那样创建矩阵:

m1 <- matrix( rep(2,4) , ncol = 2) #rep(x,n) : repeat x n times
m2 <- matrix( c(2,3,5,6) , nrow = 2 , ncol = 2) #Personaly I prefer to precise the number of rows and columns

> m1
     [,1] [,2]
[1,]    2    2
[2,]    2    2
> m2
     [,1] [,2]
[1,]    2    5
[2,]    3    6

谢谢,我知道如何使用readline(提示…),但不知道如何组合用户输入和矩阵。将
readline
的输出存储在变量中,然后在
matrix
函数中调用它。如果答案是正确的,请标记它,我先创建一个2矩阵,然后输入8个变量。。。很好听,请将答案标记为正确:)
m1 <- matrix( rep(2,4) , ncol = 2) #rep(x,n) : repeat x n times
m2 <- matrix( c(2,3,5,6) , nrow = 2 , ncol = 2) #Personaly I prefer to precise the number of rows and columns

> m1
     [,1] [,2]
[1,]    2    2
[2,]    2    2
> m2
     [,1] [,2]
[1,]    2    5
[2,]    3    6
m3 <- m1*m2
     [,1] [,2]
[1,]    4   10
[2,]    6   12
> m4 <- m1%*%m2
> m4
     [,1] [,2]
[1,]   10   22
[2,]   10   22
> m5 <- m1%/%m2
> m5
     [,1] [,2]
[1,]    1    0
[2,]    0    0
install.packages("matlib")
> m6 <- m1*inv(m2)
> m6
     [,1]      [,2]
[1,]   -4  3.333333
[2,]    2 -1.333333
> det(m2)
[1] -3
> inv(m2)
     [,1]       [,2]
[1,]   -2  1.6666667
[2,]    1 -0.6666667
> det(m1)
[1] 0
> inv(m1)
Error in Inverse(X, tol = sqrt(.Machine$double.eps), ...) : 
  X is numerically singular