先日、
MatLabの超初心者講習に
お呼ばれしてきたのですが、
すごいですね!
非常に興味深いです。
何だか、何でもできそう…
と、言う点で
何も知らずに、Pcを初めて手に入れちゃった。!!
そんな、デジャブー的なものを
感じました。
ただ
Pcでも同じですが
やはり「何ができるか」を知り
能動的に活用しないと
立ち上げただけでは
何もできないのが必定、
ですよね?…
MatLabは、行列演算が基本とか
そこで 質問させてください。
行列演算
多種多様なことができそうで、
現在もなお
研究すらされてそうですが
何ができるのでしょうか?
我ながら、バカな質問だ
とは、思いますが、
どうぞ 宜しくお願い致します。
No.1ベストアンサー
- 回答日時:
まずはご質問に対する答から。
有限次元のベクトルaとベクトルbの内積 Σa[i]b[i] を計算する関数であって、ただしa, bの各成分が関数を含む式であるようなものも許す、という関数は、「万能チューリングマシンの実装の一つ」であることが知られており、GPS (General Problem Solver)と呼ばれます(なお、初期の人工知能プログラムに同名のものがありますが、全く無関係)。ここで「万能チューリングマシンの実装の一つ」とは、すなわち、GPSに適切なベクトルa,bを与えることによって、あらゆる計算が可能だということ。そして、「あらゆる計算」というのは、「どんな計算メカニズムを使ってもいいからトニカク有限のステップでできるような、答が一つに決まる計算」ならどれでも、ってことです。要するに、ベクトルa, bがプログラムとデータ、内積の計算がプロセッサになってる訳です(が、その詳細を理解するには、計算の理論について沢山勉強しないとね)。
次に、関数を成分としない、データだけの行列の話。
行列演算だけであらゆることを効率よくやろう、ということを目的とした行列演算セットとしては、APL(a programming language)という名前のシステムが、大昔(1970年代後半)にIBMによって(PL/Iの次を担う言語として満を持して)販売された(が商業的には完全に失敗した)のが、多分、最初じゃないかなあ。これは計算機の構造のひとつ「ベクトル計算アーキテクチャ」を意識したものだと思います。APLの処理系もまた万能チューリングマシンの実装の一つで、プログラムは文字列で書いた式として与え、データは数値や文字列だけを成分とする行列です。プログラムには「普通とは違う文字ヘッド"MATH"を装着したタイプライタを使い、一度打った文字の上にバックスペースで戻って別の文字を重ね打ちする」というやりかたで作る演算記号が頻出するという、ヘンな所に凝った言語なんですが、それはさておき。
行列演算と言っても、おなじみのものばかりとは限りません。
APLで基本になるのも内積演算ですが、それを一般化したものが使える。つまり内積が「成分ごとに掛けたものを全部足す」であるのに対して、「掛け」と「足す」の部分を別の演算に置き換えることができる。
もう一つ重要なのは、ブール値(真≠0か偽=0)を成分とするベクトルbと、データのベクトルdから、「dをbで圧縮したものc」を作る演算(すなわち、成分b[i]が真であるようなiについてだけd[i]を並べて作ったベクトルc)と、「cをbで展開したものd」(すなわち、成分b[i]が真であるようなiについてだけd[i]にベクトルcの成分を順に割当て、他のdの成分は0にしたもの)を作る演算です。これらを使うと、条件分岐(Cのif文に相当)が記述できる。
ただし、ループを記述するには「→n」で「n行目に戻れ」を表すというとんでもなくヤバンな手段を使うんですが。
このような行列演算を組み合わせることで、大抵のデータ処理プログラムが1行で書けちゃうというのがAPLの特徴で、したがってAPLのプログラムは短いけれども何をやってるのか読み解くのは大変である。
有り難うございます。
万能チューリングマシンな訳ですね、
>もう一つ重要なのは、ブール値(真≠0か偽=0)を成…
ここら辺はExcelの配列数式の基本なので
多用してて、…
それでも今でもワクワクします。
No.6
- 回答日時:
いささかユニークなシステムをご紹介。
mc (matrix calculator)というプログラムで、インタラクティブな操作もできるし、プログラミングもできる。これは秋田脳研(秋田県立脳血管研究センター)の西村弘美氏が開発して無償頒布したもので、元々はMacで医療画像の画像処理をやるためのアプリケーションです。画像を画素の配列として扱うわけで、行列の計算や画像処理に関わる膨大な数値計算ライブラリはもちろんのこと、思いつくものは何でも追加しちゃいました的な構造です。ただし、データの入出力は文字列で行う。医療画像は機器メーカーごとにデータのフォーマットが不統一であった時代が長く、何かやろうとするたびに互換性が問題になってましたんで、もう全部数字にしちゃえ、というラジカルな発想。結局mcはナント、CalendarMemoという「メモを書くためのアプリケーション」に統合されたようです。 ( http://mcalc.zapto.org/mcalcHome/index.html ) もう、ほとんど個人的趣味でやってるんでしょうね。
No.5
- 回答日時:
N階の線形微分方程式とか、ラプラス変換とか
簡単に解けちゃいます。職業柄あまり使いませんが
たまに楽しんでます。
MatLabは高価なので、個人でやるなら、互換性の高いフリーの
Scilab がお勧めです。
No.4
- 回答日時:
個人的にはたいした計算しか使わないので、不自由したことはありません。
「Matlabは是か非か」http://ie.u-ryukyu.ac.jp/funaki/2012/06/05/matla …
には、遅いので大規模な実験はできない旨書かれています。
あなたがどのように使われるか判りませんが、余程のことが無い限り、ご心配無用でしょう。
有り難うございます。
私は
Excelの配列数式やVBAを
多くプログラミングしていたのですが、
此等の、
「マトリクス上に配された ワークシート上のデータに関数を施し 結果を得る」
と、いうスタンスにMatlabが近しく感じ
取っつきや易く思えました。
加えて
MatLaの方が簡単そうで、
しかも動作も早そうだったので
期待していたのです。
が、それでも
僕なんかの想定を 上回る規模の計算では
速度的に物足りないのですね、
勉強になりました。
GPUのテスラコア上 等で稼働できたら
話は変るのでしょうかね?
No.3
- 回答日時:
仕事で、けっこう行列計算を使います。
おもな使い道は、
つるかめ算的な・・・行列演算の一つの目的は、大きな連立1次方程式を効率よく作ることです。行列の結合、分解を使います。しかし、これは、ほとんどの場合、専門書に乗っている式をそのまま使うだけです。自分で行列の式を考えるのは、たいていは次の場合。
立体座標計算、力などのベクトル計算・・・おもに3×3、4×4の行列を使うのですが。行列演算の良いところは、2次元で考えた式が、たいていそのまま3次元、4次元、・・・でも通用することです。なかでも、つぎは絶対必須。
・直行行列の例としてあげられることの多い、座標の回転変換の行列。
・交差角度を求める内積の計算。
・面の法線を求める外積の計算。
工学系の仕事をするなら、算術を重要な順にあげると
四則演算→微積分→行列計算
ここまでは、どの分野でも必須といえます。あと、分野によっては、複素数、極限、確率、などが続くのですが。。。
有り難うございます。
Matlabでは
ある機構の 設定最適値を、総当たりの形で求めるのに
使ってみたく、ワクワクしています。
三角関数辺りまでの、初等微積分までは
何とか解っていたのですが、
行列の辺りで 学生時代に 遅れを感じ始めました。
初等の部分では、何となくなら 何をしているか
理解できているのですが、
深淵なる部位となると やはりさっぱりで… 汗、
お手数を おかけします。
No.2
- 回答日時:
ちょっと調べましたんでANo.1に追記。
APLは元々はハーバード大で考案されたもので、1962年に出版(Kenneth E. Iverson, A Programming Language)。「数学記号の統一と、計算手順の明確化」が目的だそうで、高校数学の教育にも用いられたとか(すると、生徒たちはAPL特有の[右から左へ計算する]という計算順序に従って、"-2+3×2+1" は "-11" だと教えられたことになる…可哀想に)。
>ちはAPL特有の[右から左へ計算する]という計算順序に従…
ひょっとしてスタック演算式(?)なのでしょうか?
手抜きも甚だしいですよね?
まあそういう時代だったのでしょうかね…
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 列を自動で追加したい 3 2022/07/11 12:58
- Visual Basic(VBA) vba 等間隔の列に対しての計算 6 2022/05/17 20:15
- その他(悩み相談・人生相談) 信用と裏はどちらも必要なのに矛盾してますよね。 信用信頼は常日頃の行いから積み重ね手に入れる物だと思 2 2022/08/14 00:36
- 楽器・演奏 ★こちらのサイトのピアノ関連のQ&Aはあまり多くありませんか? 1 2022/03/25 10:37
- 書類選考・エントリーシート 【急ぎです】指定校推薦の志望理由書の添削お願いしたいです! 商学部で1600字中1595字です 志望 1 2023/08/24 02:54
- フリーソフト 個人的なPCでの操作ログは取れないでしょうか? 1 2022/11/04 19:17
- Visual Basic(VBA) 指定月分の顧客データファイルを統合して並べ替え、所定の場所に貼り付ける (再質問) 4 2022/09/14 22:51
- 数学 行列式について。 行列式の問題(手計算でできるもの)の中には文字が含まれていて尚且つn次行列式になっ 3 2023/02/21 23:42
- 事務・総務 Excelの表計算についてお聞きしたいことがあります。 7 2022/04/30 16:32
- 哲学 皆様、初めまして。 古代の中国哲学(宋学)に由来したようである「性情」の概念について知りたいです。 3 2023/07/08 14:14
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
3行3列の行列の和と積の計算...
-
線形代数です。 正方行列A,BがA...
-
連続的ポストごめんなさい
-
逆行列(AB)^-1について
-
行列の式の英語読み方について
-
3行3列の逆行列(ルートを含む)
-
行列式計算で答が二通りでてしまう
-
matlabで条件をみたしたデータ...
-
行列の平方根?のようなもの
-
有名な行列式
-
逆行列の高速解法
-
行列と行列式の違いは?
-
3次正方行列の問題です
-
大学数学を忘れました。3×3行列...
-
オイラリアン数の反転公式、逆...
-
線形代数学のユニタリ行列の質問
-
ヤコビアン行列の問題なのです...
-
Aが2次正方行列とする。 (1)A...
-
高次の最小2乗法の計算
-
行列式。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
3行3列の行列の和と積の計算...
-
数学「行列」の実生活への応用
-
matlabで条件をみたしたデータ...
-
線形代数です。 正方行列A,BがA...
-
複素数を含む行列の逆行列は存...
-
回転行列の4行4列の意味について
-
3行3列の逆行列(ルートを含む)
-
高校数学で教わる行列っていっ...
-
行列と行列式の違いは?
-
正方行列の最小多項式の求め方は?
-
回転した楕円の長径短径、媒介...
-
表計算で行列の積を計算する方...
-
不完全LU分解前処理つき双共...
-
4×4行列の逆行列について
-
行列の式の英語読み方について
-
ラウスの安定判別法
-
Statviewでの解析で
-
Zパラメータの求め方
-
にゃんこ先生の自作問題、ヴァ...
-
行列式計算で答が二通りでてしまう
おすすめ情報