Maxima/変数と定数
< Maxima
変数と定数
編集Maximaでは、少数の予約語を除く英数字からなる語に、定数・変数(スカラー・ベクトル・行列)だけでなく、式、関数、演算子、事実、属性、文脈、lispのコマンドなどを割り当てたり、定義することができる。Maximaではこの様に広く対応する語をatom(原子)と呼ぶ。しかし、本書では数学に対応させてMaximaの解説をおこなうので、定数、変数、関数と場合により呼びわけることにする。
integrate | next | from | diff | in | at | limit |
sum | for | and | elseif | then | else | do |
or | if | unless | product | while | thru | step |
割り当て
編集変数に具体的数式を1対1で対応させる場合は、割り当て(assignment)をおこなう。
通常割り当て(:)
編集:記号によって、左の変数に右の内容を割り当てる。 右が定数なら代入、多項式なら関数定義、方程式なら方程式に名前をつけたことになる。
置き換え割り当て(:=)
編集基本的には:記号と同じであるが、左の変数(変数1,変数2,...)の変数1,変数2,...に右の式の変数1,...に対応するして、置き換えの機能を持つ。簡易な関数定義[1]になるが、置き換えられるまで右の式が評価されないので、注意しよう。
一覧(values)
編集values()は現在具体的な実態を割り当てられ定義された文字の一覧を返す。
開放(kill)
編集kill(変数名)は変数名に割り当てられた定義を消す。 kill(all)はすべての割り当てられた定義を消す。
変数序列と定数
編集変数は複数ある場合、優先順位をつけることができる。優先順位の低い変数は分解されやすく、式の後ろの方にまわされる。Maximaでの変数序列は次のようになる。
- 主変数
- ordergrate宣言変数(変数1,変数2,..)
- その他変数(アルファベット逆順)
- orderless宣言変数(...,変数2,変数1)
- スカラー
- 定数
- 数字
ここで定数(constant)とは、他の変数の影響をまったく受けない不変の数のことである。
宣言(declare)
編集declare(a1,属性1,a2,属性2,...)は、a1に属性1,a2に属性2,を付ける。変数の序列にかかわる属性としては、
- mainvar - 主変数
- nonscalar - ベクトルや行列、演算子に付けるもの
- scalar - スカラーで積が交換可能
- constant - 定数(%pi,%eと同じ)。
がある。
変数序列の変更(ordergrate,orderless)
編集- ordergrate(変数1,変数2,..)は変数の順位を上げる。
- orderless(変数1,変数2,..)は変数を順位を下げる。
- unorder(変数1,変数2,..)は変数の順位を普通にもどす。
序列・属性を確認する関数
編集- orderlessp(変数1,変数2)は変数1<変数2の順のときtrueを返し、
- ordergreatp(変数1,変数2)は変数1>変数2の順のときtrueを返す。
- scalarp(変数)は変数がスカラーの場合にtrueを返し、
- constantp(式)は式が定数か定数の関数であるときにtrueを返す。
演習問題
編集関連項目
編集マニュアル該当箇所
編集- Maxima Manual: 6. Expressions (英文の公式マニュアル)
- 日本語に翻訳中のマニュアル:6. 式