もちろん手計算は面倒なので、maximaに頼んでやってもらう。
そのスクリプトを書くときに使うものについてのメモを残しておく。
大半がwebをさまようと得られる情報なのであまり大したことはない。
- print関数
x,yにそれぞれ、3,4が代入されていた時に、次のように書くと
print("sonomama",x",sonomimi,",y);
で
sonomama 3 ,sonomimi, 4
と表示される。
- define関数
define(f(x),x^2);
でf(x)=x^2と定義される。x^2はdiff(g(x),x)のようなものでも可。
- block関数
f(x):=block(pani(x),poni(x));
でf(x)を実行すると、pani(x)とponi(x)が順番に実行。
- kill関数
kill(x);
で変数xに代入されている値を消去。また変数の性質も消去。
- float関数
float(17/3)で17/3を小数に直してくれる。16桁で打ちきられるようだ。
- for文
for i:0 thru 100 do (pani(i),poni(i));
でi=0から100まで順番にpani(i),poni(i)を実行。
- if文
if x<=3 and y<4 then pani(x)
else poni(y)
もしxが3以下かつyが4未満ならば、pani(x)を実行。
それ以外ならばponi(x)を実行。
andをorに変えれば「かつ」を「もしくは」に変更可。
それ以外にもいろいろあると思うけど、当面必要なのはこれぐらい。
それにしてもだれかニュートン法のスクリプトを書いてくれればいいのに。
パッケージになっているのは1変数の場合の時だけだ。
(追記:もうすでにありました。mnewtonという名前だそうです。深く調べもせずにすみません...。)
それにしてもだれかニュートン法のスクリプトを書いてくれればいいのに。
パッケージになっているのは1変数の場合の時だけだ。
(追記:もうすでにありました。mnewtonという名前だそうです。深く調べもせずにすみません...。)
0 件のコメント:
コメントを投稿