Построение фигур в 3D-режиме (шаблоны прогиба) в MATLAB, приводящих к неожиданным ударам на поверхности и кривым по краям - PullRequest
0 голосов
/ 04 мая 2019

Сила и ускорение отклика с течением времени были собраны для испытаний отводов на лопасти ветряного двигателя 43 разных места по лезвию с 5 повторениями. Для получения частотных характеристик были выполнены преобразования Фурье для данных, они были усреднены для каждого местоположения попадания, и были нанесены 43 соответствующих FRF.

В прилагаемом коде используются данные из FRF для выбора пикового значения (собственной частоты), соответствующего форме моды / шаблону отклонения лопасти. Для моего исследования я рассматриваю только первые 3 пика (игнорируя 1-й пик слева). Этот отклик каждого местоположения попадания интерполируется между соседними точками попадания для создания более плавного графика.

Когда я рисую их на трехмерных графиках, на них изображаются странные неровности, а также изгибы по краям лезвия, которых там быть не должно.

Кто-нибудь, имеющий какой-либо опыт в этом, понимает, почему это произошло? Является ли это ошибкой в ​​коде, результатами, числовой нестабильностью?

FRF участок: http://www.mediafire.com/file/84gj690ay5xrlv9/image%25282%2529.png/file

данные и кодировка доступны здесь: https://www.mediafire.com/file/b483jb9n9pm883q/dom_coding_mode_shape.zip/file

Я пытался изменить время реакции ускорения для каждого местоположения в зависимости от его угла относительно ускорителя из-за поворота лопасти, но это не изменило результаты.

%clear all, close all, clc
figure
load('frfs2.mat')


for i = 1 %this for loop is for each natural frequency
    %use absolute FRF to pick points
    plot(abs(H))
    axis([0 1000 -1e-3 1e-3])
    x = [0 size(H,1)];
    for n=1:3
        set(gca,'XLim',x);
        [x,y] = ginput(2);
        x = round(x);
        grid on
    end
    for n = 1:size(H,2)
        % pick imaginary part of each FRF based on natural frequency range
        % picked
        [val, id] =  max(abs(H(x(1):x(2),n)));
        d(n,i) = imag(H(x(1)+id-1,n));
        wnhz = whz(x(1)+id-1,1);
    end
end

%blade co-ordinates

xy = [6,30;
    41, 15;
    109,15;
    156,20;
    11,92.5;
    50,92.5;
    86,92.5;
    124,92.5;
    161,92.5;
    14,163;
    49,163;
    84,163;
    118,163;
    152,163;
    22,239;
    53,239;
    84,239;
    112,239;
    142,239;
    25,312;
    57,312;
    92,312;
    125,312;
    32,388;
    58,388;
    84,388;
    115,388;
    36,462;
    59,462;
    80,462;
    104,462;
    41, 537;
    69, 537;
    99,537;
    43,552;
    70,552;
    96,552;
    37, 632;
    63,632;
    87,632;
    34,707;
    58,707;
    81,707];
m=1;
xpts = 100;
ypts = 100;

xgrid = linspace(min(xy(:,1)),max(xy(:,1)),xpts);
ygrid = linspace(min(xy(:,2)),max(xy(:,2)),ypts)';
Vgrid = griddata(xy(:,1),xy(:,2),d(:),xgrid,ygrid,'cubic');
surf(xgrid,ygrid,Vgrid)
xlim([0 800])
%title('Mode Shape 1 at 32.5Hz')
axis on
shading interp
colorbar

Ожидаемые результаты должны быть более плавными, без странных ребер, которые резко изгибаются вниз (больше похоже на форму моделируемого режима)

пример режима формы: https://www.mediafire.com/view/7muh91ufsi350xh/image.png/file

Форма имитируемого режима лезвия: http://www.mediafire.com/file/54w9zvdwz9n78zx/image%25283%2529.png/file

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...