電子書籍の厳選無料作品が豊富!

こんにちは。matlabについての質問です。
matlabについてまったくの初心者なのですが、大学のパソコンに入っているmatlabでsymsという変数の指定をしても、エラー表示がでてしまいます。これはどうやらmatlabに追加のtoolが入っていないと使えないということが調べていたらわかりました。この場合たとえば、f=x^2-x-1でf=0をxについて説くという場合どのようにmatlabに入力すればいいのですか?いろいろ調べたのですがよくわからなくて・・・。また、僕みたいな超初心者でもわかりやすいmatlab入門書やサイトで、お薦めの本などありましたら、教えていただきたいです。お願いします。

A 回答 (1件)

ええと一応念のため。

参考意見として聞いてください。

ずーっと眺めていたんですが、教えてgoo!に「Matlabで……」って質問は結構上がるんですけど、レスって付きにくいんですよ(笑)。
と言うのも、

1.Matlabは個人で所有するには高すぎる。
2.そもそも研究者用なんでユーザー数が少ない。

ですから、Matlab互換と言われるGNU OctaveかScilabの方が回答してくれる人が増えるかもしれません。これらだったら大学の端末以外で個人所有のPCにも無料でインストール出来て使えますし、少なくともコッチの環境とそちらの環境を合わす事が可能です。
いずれにせよ、Matlab関係の情報がここに限らず、ネット上探しても比較的少ないのは、そう言う理由があると思われます。とにかく値段が高いしユーザー数が少ないし専門的にならざるを得ないから、です。

さて、元々MatlabとかOctaveとかは「数値計算用のソフトウェア」です。確かに検索した限り、MatlabではSymbolic Math Toolboxesと言うライブラリを追加すれば文字式を使った代数計算が出来るような事が書いてありましたが、原則、数式処理はMatlabとかOctaveの範疇じゃないです。ましてや、大学のMatlabにライブラリが入っていない以上、どうしようもないでしょうね。

一応注釈しておきますが、「計算用ソフト」と言っても2種類あります。

・数値計算ソフト
・数式処理ソフト

前者は「実際に数値を入力して計算結果を見る」為のソフトで、広義ではMicrosoft Excelなんかも含まれます。例えば方程式があったとしても「抽象的に文字式を処理して解を見る」と言うのは原則的に無理で、実際何らかの数値を引数として与えて「計算結果を見る」と言うのがこの分野のソフトです。Matlabなんかはコッチに含まれます。
後者が貴方が求めてる分野のソフトウェアです。これは「計算する」と言うよりどっちかと言うと「記号処理」の分野なんですね。一つの方程式を「数式として解釈する」んじゃなくってテキストとみなして変形していく、ってのが動作原理です。これは「方程式を文字式として解釈して解を出せる」んですが、生憎、需要が前者に比べれば圧倒的に少ないです。有名どころではMathematicaとかMapleと言うソフトウェアがあります。既出のMatlab用ライブラリ、Symbolic Math Toolboxesと言うのは、この「Maple」と言うソフトウェアの核をMatlab上で扱えるようにしたもの、と言う話ですね。
と言うことは、まずはやるべき事は大学のコンピュータに「Mathematica」ないしは「Maple」が入ってるのかどうか調べてみる事でしょう。良く分かりませんが、仮に「Mapleが使える」んだったらわざわざMatlabでSymbolic Math Toolboxesを使う必要がない、ってんでインストールしてない可能性もあります。
いずれにせよ、原則的にはMatlabは「貴方がやりたい計算」を行う為のソフトウェアではない、と言う事なんです。

一応ここで「Maxima」を紹介しておきます。これは数式処理用のフリーウェアで、「貴方がやりたい事」に対してはドンピシャだと思います。

GNU Maxima:
http://maxima.sourceforge.net/

これならコマンドラインで

solve(x^2-x-1,x);

と入力すれば「f=0をxについて解く」事が可能となります。
試してみてください。
    • good
    • 0
この回答へのお礼

なるほど。根本的にMatlabというソフトについての解釈が間違えていたんですね。とても、参考になり助かりました。学校のコンピュータにMathematicaが入っていたと思うのでそちらで試してみます。
ありがとうございました!

お礼日時:2008/03/04 19:54

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!