• Регистрация
Чито
Чито0.00
н/д
  • Написать
  • Подписаться

Проблемы с fill в Симулинке

Прошу прощения за вопрос новичка. Но вот такой простой скрипт работает в командной строке, но не работает при вызове из Симулик и дает: "Function 'fill' not supported for code generation.".Причем PLOT...

Прошу прощения за вопрос новичка.

Но вот такой простой скрипт работает в командной строке, но не работает при вызове из Симулик и дает: "Function 'fill' not supported for code generation.".
Причем PLOT работает.

function handle = drawRod(x, y, ~)
           X = [-x, x, x, -x];
           Y = [0, 0, y, y];
           handle = fill(X, Y, 'g');
end

Теги

      25.03.2021

      Комментарии

      • aBoomest
        aBoomest+910.89
        25.03.2021 21:44

        Далеко не все ф-ции могут работать из моделий. Есть ограничения, в принципе о чем вам и написали. Еще уточнение - что значит вызов из симулинк? Ситуации бывают разные.

        • Чито
          Чито0.00
          25.03.2021 23:54

          Включаю в проект "MATLAB Function", два щелчка по ней, открывается редактор, в нем определяю функцию...

          • aBoomest
            aBoomest+910.89
            26.03.2021 08:26

            Значит данную ф-цию использовать нельзя.

            • Чито
              Чито0.00
              26.03.2021 20:16

              Тогда чем можно рисовать простые 2-д фигуры?

               

              • Чито
                Чито0.00
                28.03.2021 11:56

                Ответ нашелся. Оказывается  не в Simulink рисуется, а в Workspace. И fill и path прекрасно работают)

                 

                sim('PeNDD.slx')


                KS = ans.yout.getElement('L');
                l = KS.Values.Data;

                X = [l-10 l+10 l+10 l-10];
                Y = [0 0 5 5];

                fill(X,Y,'blue')

                x2 = [2 5; 2 5; 8 8];
                y2 = [4 0; 8 2; 4 0];
                patch(x2,y2,'green')