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)
。您将看到它将提供相同的输出。