• Регистрация
Korolyonik
Korolyonik 0.00
н/д

Ошибка в Simulink при интерполяции характеристики компрессора

13.04.2020

Есть массив точек, которые определяют характеристику компрессора, я хочу интерполировать промежуточные данные:

function [n, eff] = fcn(pi,G)
data=[20250 0.05 1.16 0.7;
    20250 0.1 1.15 0.706;
    20250 0.1608 1.141 0.7039;
    20250 0.2193 1.098 0.583;
    20250 0.2418 1.051 0.3257;
    20250 0.2558 1.001 0.01;
    45000 0.4611 1.884 0.7623;
    45000 0.4747 1.867 0.7588;
    45000 0.4916 1.821 0.7368;
    45000 0.5049 1.727 0.6743;
    45000 0.5054 1.537 0.522;
    45000 0.5055 1.2 0.3;
    90000 1.249 6.537 0.6845;
    90000 1.25 6.428 0.6832;
    90000 1.25 6.053 0.6585;
    90000 1.25 5.861 0.6496;
    90000 1.25 5.764 0.6443;
    90000 1.25 5.572 0.6446;
    90000 1.25 4.526 0.5418];
x = data(:,3);
y = data(:,2);
z1 = data(:,1);
z2 = data(:,4);
n = griddata(x,y,z1,pi,G,'natural');
eff = griddata(x,y,z2,pi,G,'natural');

В консоли, вроде, считает. Но когда я описываю эту функцию в блоке функции simulink он выдает ошибку:

Теги

      13.04.2020

      Ответы

      • aBoomest
        aBoomest+942.89
        14.04.2020 08:17

        Блоки не поддерживают всю функциональность. Он вам так и пишет: griddata не поддерживается.

        • aBoomest
          aBoomest+942.89
          14.04.2020 08:23

          раз

          два

          три

          может тут что найдете подходящее вам