qq_59010452 2024-03-11 22:18 采纳率: 0%
浏览 20
已结题

请教MATLAB计算行星轮系固有频率

请教一下我的频率为什么最大能达到7000多,参数和矩阵都和别人论文一样,想请各位看出问题。(附上我的矩阵和程序)

img

img

img

clear all;
clc;
% 参数定义
mc=10.12;%行星架质量kg
mr=2.7;%内齿圈质量kg
ms=0.8;%太阳轮质量kg
mp=0.45; % 行星轮质量kg
alfa=20*pi/180;%压力角
ksn=3.8e8; % 太阳轮和行星轮平均啮合刚度N/m
krn=3.8e8;%齿圈和行星轮平均啮合刚度N/m
kst=3.8e9;%支承刚度
% 建立质量矩阵M和刚度矩阵K
A=[mc+3*mp,mr,ms,mp,mp,mp]; 
M=diag(A);
K1 = [
    3*ksn*(cos(alfa))^2+3*krn*(cos(alfa))^2, -(3*krn*cos(alfa)), -(3*ksn*cos(alfa)), krn*cos(alfa)-ksn*cos(alfa), krn*cos(alfa)-ksn*cos(alfa), krn*cos(alfa)-ksn*cos(alfa);
    -(3*krn*cos(alfa)), -3*krn, 0, -krn, -krn, -krn;
    -(3*ksn*cos(alfa)), 0, -3*ksn, ksn, ksn, ksn;
    krn*cos(alfa)-ksn*cos(alfa), -krn, ksn, ksn+krn, 0, 0;
    krn*cos(alfa)-ksn*cos(alfa), -krn, ksn, 0, ksn+krn, 0;
    krn*cos(alfa)-ksn*cos(alfa), -krn, ksn, 0, 0, ksn+krn
];
K2=[kst kst kst 0 0 0 ];
K3=diag(K2);
K=K1;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
% 求解特征向量(振型)和特征值(频率)
[eigenvectors, eigenvalues] = eig(K, M);

% 提取固有频率,特征值取平方根并取对角线上的元素
natural_frequencies = sqrt(diag(eigenvalues));

% 将固有频率从弧度/秒(rad/s)转换为赫兹(Hz)
natural_frequencies_hz = natural_frequencies / (2*pi);

% 输出固有频率
disp('固有频率(Hz):');
disp(natural_frequencies_hz);
mode_shapes = eigenvectors;
% 显示固有振型
disp('固有振型:');
for i = 1:length(natural_frequencies)
    fprintf('模态 %d:\n', i);
    disp(mode_shapes(:, i));
end

  • 写回答

21条回答 默认 最新

  • 叫兽-郭老师 新星创作者: Java技术领域 2024-03-11 22:20
    关注
    获得0.60元问题酬金

    🌈🌈🌈参考通义千问和郭老师的小迷弟雅思莫了-编写提供🌈🌈🌈
    您可以参考如下,如果回答的不正确,及时评论区回复我,我会根据你错误描述追加回复,直到您满意为止。

    您的代码中计算行星轮系固有频率的矩阵 K 和质量矩阵 M 的定义基本正确,但是您没有将 K2 矩阵(支承刚度)加入到总刚度矩阵 K 中。在 MATLAB 代码中,请修改如下:

    % 定义完整的刚度矩阵
    K = K1 + K3;
    
    % 求解特征向量(振型)和特征值(频率)
    [eigenvectors, eigenvalues] = eig(K, M);
    
    % 提取固有频率, 特征值取平方根并取对角线上的元素
    natural_frequencies = sqrt(diag(eigenvalues));
    
    % 将固有频率从弧度/秒(rad/s)转换为赫兹(Hz)
    natural_frequencies_hz = natural_frequencies / (2*pi);
    
    % 输出固有频率
    disp('固有频率(Hz):');
    disp(natural_frequencies_hz);
    

    现在,您已经将支承刚度矩阵 K2 加入到了总刚度矩阵 K 中,这应该会修正之前得到异常高的固有频率结果。如果仍然得到不合理的固有频率,请再次检查模型参数是否与论文一致。

    评论

报告相同问题?

问题事件

  • 系统已结题 3月19日
  • 创建了问题 3月11日