Проблемы с fill в Симулинке
25.03.2021
Прошу прощения за вопрос новичка.
Но вот такой простой скрипт работает в командной строке, но не работает при вызове из Симулик и дает: "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
Комментарии
Далеко не все ф-ции могут работать из моделий. Есть ограничения, в принципе о чем вам и написали. Еще уточнение - что значит вызов из симулинк? Ситуации бывают разные.
Включаю в проект "MATLAB Function", два щелчка по ней, открывается редактор, в нем определяю функцию...
Значит данную ф-цию использовать нельзя.
Тогда чем можно рисовать простые 2-д фигуры?
Ответ нашелся. Оказывается не в 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')