マメパトかわいい
まずは誰かが書いたのを探そう
さっそくズルをしましょう!
https://ja.wolframalpha.com/
ここでマメパトとかグレッグルとかウパーとかヌオーとか、ポケモン名を探せば大抵出てきます。
下の方に [コピー可能なテキスト] ってあるので、クリップボードにコピーしておきましょう。
せっかくなので、あとはMATLABで。
グレッグルだと上の方に 「0 から 92π までのときのプロット」って書いてあるので、それを1行目に書きましょう。MATLAB だと clipboard コマンドを使えば、コピーしたクリップボードの内容をそのまま文字列で使ってくれます。
あとは特殊文字とか置き換えればいいね。
t = linspace(0,92*pi,20000);
clip = clipboard('paste');
txt = textscan(clip,'%s','delimiter','\n');
txt = txt{1};
txt = replace(txt,'θ','*heaviside');
txt = replace(txt,'π','*pi');
txt = replace(txt,' ','');
txt = replace(txt,'sin','*sin');
txt = replace(txt,'t','*t');
txt = replace(txt,'(*','(');
txt = replace(txt,'-*','-');
txt = replace(txt,'+*','+');
txt = replace(txt,'r*t','rt');
txt = replace(txt,'sgn','sign');
txt = replace(txt,'*','.*');
x = eval(txt{1}(6:end));
y = eval(txt{2}(6:end));
fprintf('x = %s;\n',txt{1}(6:end))
fprintf('y = %s;\n',txt{2}(6:end))
comet(x,y)
axis equal
Simulink のサブシステムにもどうぞ
1行目のlinspaceと、コマンドウィンドウに出てきた数式と、plot(x,y) を使ってサブシステムのマスクを作れば、いい感じのサブシステムになります。