我想获得具有质量矩阵M和刚度矩阵K(.mat-file - > Download)的简单机械系统的固有频率:
M x''(t)+ K x(t)= 0(x =位置)。
基本上,我必须解决det(K-w ^ 2 * M)= 0。但是如何在Matlab中解决它(或者如果必要的话将它减少到标准的特征值问题然后解决它)?矩阵绝对可以用Abaqus(FEM软件)解决,但我必须在Matlab中解决它。
我尝试了以下但没有成功:det(K-w ^ 2 * M)= 0 => det(M ^ -1 * K-w ^ 2 * I)= 0(I:=单位矩阵) 但用
解决这个特征值问题Map(
(0 -> Map("age" -> null, "name" -> "Michael")),
(1 -> Map("age" -> 30, "name" -> "Andy")),
(2 -> Map("age" -> 19, "name" -> "Justin"))
)
提供错误的值和警告:
“矩阵对于工作精度来说是单数。
在matlab.internal.math.mpower.viaMtimes(第35行)“
其他错误的值可以通过det(K-w ^ 2 * M)= 0 =>获得。 DET(I /(W ^ 2)-M * K ^ -1)= 0:
sqrt(eigs(K*M^-1))
任何提示都会对我有所帮助。提前谢谢。
答案 0 :(得分:1)
正如@Arpi所提到的,你实际上想要解决广义特征值问题:
K * x = w ^ 2 * M * x
由于您的矩阵K和M显然是单数(或只是其中之一),因此无法使用#!/bin/bash
cd /home/hadoop/
sudo yum -y install zeppelin
echo 'export ZEPPELIN_NOTEBOOK_S3_BUCKET=mybucket' | sudo tee -a /etc/zeppelin/conf.dist/zeppelin-env.sh
echo 'export ZEPPELIN_NOTEBOOK_S3_USER=zeppelin' | sudo tee -a /etc/zeppelin/conf.dist/zeppelin-env.sh
echo 'export ZEPPELIN_NOTEBOOK_STORAGE=org.apache.zeppelin.notebook.repo.S3NotebookRepo' | sudo tee -a /etc/zeppelin/conf.dist/zeppelin-env.sh
# Start Zeppelin
sudo /usr/lib/zeppelin/bin/zeppelin-daemon.sh start
,但您必须使用eigs
:
eig