R 在计算特征值时发出警告

R 在计算特征值时发出警告,r,warnings,linear-algebra,eigenvalue,symmetric,R,Warnings,Linear Algebra,Eigenvalue,Symmetric,我必须计算特征值和特征向量,但我总是有这个警告。我希望有人能告诉我发生了什么事 #masa en kg m1=559.3e-3 m2=419.4e-3 m3=m2 m4=m2 m5=m2 m6=m2 m7=m2 m8=m2 #rigidez en N/m k=56.7e3 #matrices de masa y rigidez M=matrix(c(m1,0,0,0,0,0,0,0,0,m2,0,0,0,0,0,0,0,0,m3,0,0,0,0,0,0,0,0,m4,0,0,0,0,0,0,0,

我必须计算特征值和特征向量,但我总是有这个警告。我希望有人能告诉我发生了什么事

#masa en kg
m1=559.3e-3
m2=419.4e-3
m3=m2
m4=m2
m5=m2
m6=m2
m7=m2
m8=m2
#rigidez en N/m
k=56.7e3
#matrices de masa y rigidez
M=matrix(c(m1,0,0,0,0,0,0,0,0,m2,0,0,0,0,0,0,0,0,m3,0,0,0,0,0,0,0,0,m4,0,0,0,0,0,0,0,0,m5,0,0,0,0,0,0,0,0,m6,0,0,0,0,0,0,0,0,m7,0,0,0,0,0,0,0,0,m8), 8, 8, byrow=TRUE)
K=matrix(c(k,-k,0,0,0,0,0,0,-k,2*k,-k,0,0,0,0,0,0,-k,2*k,-k,0,0,0,0,0,0,-k,2*k,-k,0,0,0,0,0,0,-k,2*k,-k,0,0,0,0,0,0,-k,2*k,-k,0,0,0,0,0,0,-k,2*k,-k,0,0,0,0,0,0,-k,k), 8, 8, byrow=TRUE)
#calculo valores y vectores propios
a=eigen(K,M)

>Warning message:
In if (symmetric) { :
the condition has length > 1 and only the first element will be used

此错误意味着变量
symmetric
(可能是
固有函数的内部)正在计算长度大于1的逻辑向量。在if语句的条件下发生这种情况时,只使用第一个元素

文档使我认为您希望将每个矩阵分别传递给函数

a <- eigen(K)
b <- eigen(M)

此错误意味着变量
symmetric
(可能是
固有函数的内部)正在计算长度大于1的逻辑向量。在if语句的条件下发生这种情况时,只使用第一个元素

文档使我认为您希望将每个矩阵分别传递给函数

a <- eigen(K)
b <- eigen(M)

这意味着它只计算第一个元素的本征值,即
K
。在此设置中,运行
eigen(K,M)
eigen(K)
。您将看到它将给出相同的输出。这意味着它只计算第一个元素的本征值,即
K
。在此设置中,运行
eigen(K,M)
eigen(K)
。您将看到它将提供相同的输出。