Reduced flexible model results across different MATLAB Versions

26 次查看(过去 30 天)
Hi,
The deflection of rod is different across different MATLAB version.
When I exert 1N to bar in Simulink, the response is diffrent across different MATLAB version.
The schematic is like this.
It must be an error for my modelling or model change os simscape. What is a cause for this difference?
BR,

回答(1 个)

Umar
Umar 2025-10-28,4:27

Hi @younghwa park,

I looked at your code in the GitHub link provided by you and the deflection difference between versions. Your beam.m script creates a reduced-order model but doesn't include any damping - you're only generating mass and stiffness matrices with the reduce function. This means your Simulink model is using whatever default damping values are set in the Reduced Order Flexible Solid block parameters, and those defaults likely changed between R2024b and R2025a. So, open your beam.slx file in both versions, double-click the Reduced Order Flexible Solid block, and compare the Damping settings. You'll probably find different values for the damping ratio or the damping type itself has changed. That would explain the factor of two difference you're seeing. To test if this is really the issue, try adding explicit damping to your code right after the reduce line:

rom = reduce(femodel,'FrequencyRange',[0 20]*(2*pi));
rom.C = 0.01 * 2 * sqrt(rom.K .* rom.M);

This adds 1% damping to all modes. If both versions give you the same results after this change, you've confirmed it's a damping default issue. Also check that the reduced-order model itself is the same between versions by running this after your reduce command:

disp(size(rom.K,1));
[V,D] = eig(rom.K, rom.M);
disp(sort(sqrt(diag(D))/(2*pi)));

The number of DOFs and natural frequencies should match between versions. If they don't, the reduce function itself changed behavior.

References:

类别

Help CenterFile Exchange 中查找有关 Bodies 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by