行列の定義 行列を生成するためには次のようにする。これは3×3行列でその成分が i2+jで与えられる行列を与える。 Table[i^2+j, {i,3},{j,3}] この行列を配列した形にするためには次のようにする。 ここで%は前の結果を表す。 MatrixForm[%] 同様にして(i,j)成分がi-j, (i-j)2, i2+ j2 であるような行列は次で与えられる。 Table[i - j, {i,4},{j,4}] MatrixForm[%] Table[(i - j)^2 , {i,4},{j,4}] MatrixForm[%] Table[i^2 + j^2 , {i,4},{j,4}] MatrixForm[%] 行列は次のように与えることもできる。ここで;をつけると行列が表示されないので注意する。 これは(i,j)成分がa[i,j]であるような行列を定義してそれを表示する
ただし、前置形と後置形では引数は1つしかとることができない(たぶん)。 演算子 @ の演算子としての優先順位は高く、また演算子 // の演算子としての優先順位は低い。従って、 f @ x + y は f[x]+yに等しく、 x + y // f は f[x+y]に等しい。 式の操作 Mathematicaの内部では、式はそれ自身リスト構造を持ち、その要素はPart関数あるいは2重括弧 [[ ]] で参照できる。たとえば f[x,y] は、f[x,y][[0]] で f、f[x,y][[1]] で x、f[x,y][[2]] で y が得られる。これはリスト L に対して L[[n]] として n 番目の要素が得られるのと同様である(ちなみに L[[0]] とすると "List" が得られる)。従って、Mathematicaの式に対しては、リストを操作する関数は全て適用可能である。す
Mathematicaプログラミング 第一部 Mathematicaの文法 はじめに 全般的なこと Mathematicaの計算精度 リストについて 主な定数 主な算術演算子 定義 関数を定義する(サブルーチンの作り方) 重要な注意 一度計算した内容の保持 手続き型の関数 局所変数 評価の際の優先順位 変換規則 条件式 比較演算子 条件式の結合 繰り返し構文 反復指定 条件分岐構文 第二部 Mathematicaの応用 作図法 方程式を解く 方程式の結果の利用法 連立方程式 微分方程式 ベクトルと行列 フィッティング 線型フィッティング 非線型フィッティング ファイル入出力 ファイル出力 ファイル入力 グラフィカルな入力方法 パッケージの利用法 標準パッケージ パッケージの読み込み コンテキスト 計算の高速化の手法 もっと詳しく はじめに ここでは、方程式を解いたりグラフをプロットした
Mac用の光学薄膜設計ソフトを始めた。計算エンジンの答え合わせをしたいけど、僕はTFCalcなんかの汎用のソフトを持っていない。そうするとどうするか。 前回、とりあえずMacleodさんの本やTFCalcのサイトには設計例と比較したところ、単純な例ではあうけど層数が増えるとあわない。特にTFCalcのサイトの設計例とは、波長依存性なんかの大まかな形は似てるけど値は全然違う。なんでそんな中途半端な違いが出るのかよくわからないし、どこが間違っているのかわからない。 ということで、面倒でも他のアルゴリズムや計算方式のソフトを書いてみて結果が一致するかどうかを見ることにした。しかしそれではまたゼロから計算エンジンを作ることになって、さすがにそれはやっとれんわ、と言う感じになる。 ということでMathematicaで書くことにした。ずっと以前に書いたものがあるのでそれに手を入れる。 比較のためのMa
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く