文字計算例
MATLABと異なり=は等号です。
x=2;x
数値の定義は:=を使います。
x:=2;x
代入をやめるときはdeleteを使います。SHIFT+Enterで改行できます。
x:=1:y:=z:=2:[x,y,z];
delete x,y:[x,y,z];
展開するときはexpand、因数分解はfactorを使います。
[(x+1)^3,expand((x+1)^3),factor(x^3-1)];
連分数と三角関数をsimplifyを使って簡単にしました。
f:=1/(2+x/(3+x/(4+x))):f;simplify(f);
f:=cos(x)^2+sin(x)^2:f;simplify(f);
delete f;
三角関数の公式です。simplifyとexpandを使いました。
f:=sin(x)*cos(y)+cos(x)*sin(y):f=simplify(f);
f:=cos(x+y):expand(f)=f;
分数の通分はsimplify以外にnormalを使うことがあります。
f:=1/(x+1)+1/(y-1);simplify(f);normal(f);delete f;
2つ以上の分数に分けるにはpartfracを使います。
f:=1/(x^3-1):f=partfrac(f);
式の代入はsubsか|を使います。。
f:=a*x^2+b*x+c;subs(f,x=y);f|x=0;
g:=a*x^2+b*y^2+c;subs(g,x=1,y=2);g|(x=2,y=1);
関数の定義は:=と->を使います。
f:=x->a*x^2+b*x+c;
g:=(x,y)->a*x^2+b*y^2+c;
関数の引数への代入は( )に数値・文字を入れるだけです。その他の文字にはsubsまたは|を使います。
f(y);g(1,2);subs(g(1,2),a=2);g(1,2)|a=2;
複雑な関数は手続きprocedureを使います。
myProc:=proc(x,y,z)
begin
if x>y then
if y>z then [x,y,z]
else
if x>z then [x,z,y]
else [z,x,y]
end_if
end_if
else
if x>z then [y,x,z]
else
if y>z then [y,z,x]
else [z,y,x]
end_if
end_if
end_if
end_proc:
myProc(1,2,3);myProc(22/7,PI,(2143/22)^(1/4));
%を使うと直前の結果を使うことができます。
float(%)