コンテンツにスキップ

Maxima/変数と定数

出典: フリー教科書『ウィキブックス(Wikibooks)』

変数と定数

[編集]

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での変数序列は次のようになる。

  1. 主変数
  2. ordergrate宣言変数(変数1,変数2,..)
  3. その他変数(アルファベット逆順)
  4. orderless宣言変数(...,変数2,変数1)
  5. スカラー
  6. 定数
  7. 数字

ここで定数(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を返す。

演習問題

[編集]

関連項目

[編集]
  1. ^ Maxima/関数を定義する

マニュアル該当箇所

[編集]