読者です 読者をやめる 読者になる 読者になる

MyEnigma

とあるエンジニアのブログです。#Robotics #Programing #C++ #Python #MATLAB #Vim #Mathematics #Book #Movie #Traveling #Mac #iPhone

WolframAlphaでエンジニアリングを

Memo Robot


はじめに

Wolfram Alphaという検索エンジンをご存知でしょうか?

これは数式処理ソフトで有名なMathematicaを開発している

スティーブン・ウルフラムという人の会社が開発しているWebサービスです.

Wolfram|Alpha: Computational Knowledge Engine



このWolfram AlphaはGoogleなどの普通の検索エンジンとは異なり,

人工知能の機能が入っており,

質問形式で疑問を投げかけると,それに答えてくれます.

例えば,今日の天気は?と英語で聞くと,

下記のように今日の天気に関する情報を教えてくれます.


ちなみに現在の所,

Wolfram Alphaは英語のみに対応していますが,

適当に英語の単語を並べると,

それなりに意図した答えを返してくれます.




また,このWolfram Alphaは

Mathematicaの計算エンジンが一部乗っているので,

簡単な数式処理はMathematica同様に計算してくれます.




今回,

エンジニアリングで非常に便利な

Wolfram Alphaの使い方について簡単に紹介したいと思います.



微分

まず初めに数式の微分です.

下記の式をxで微分することを考えましょう.

できなくもありませんが,

大学を卒業してから5年以上経過しているとキツイですね(笑).




では,これをWolfram Alphaに解かせるには,

下記のように検索すればOKです.

D[(x^2-y-sin(x^2)^2)^0.5,x]



微分の場合

D[数式, 数式内の微分したい変数]

で微分してくれます.



見ての通り,すぐに微分してくれます.

非常に便利ですね.

大学時代に使えれば,授業の宿題の検算ができたのにと思います(笑).




また,Step by Stepというボタンをクリックすると,

下記のように,各ステップ毎の計算方法と結果まで教えてくれます.

これがあれば,基礎数学の授業のレポートは...(笑)





また,グラフ化まで頼んでいないのにしてくれます(笑).




エンジニアリングで必要な微分計算を

すべてこれでやってしまうのは問題と思いますが,

自分の計算結果の検算や,

自分が作成したモデルの確認をするには非常に有用ですね.



積分

積分も先ほど微分と殆ど一緒です.

下記の数式をxに関して積分させてみましょう.



下記の文字列を検索します.

Integral[-y-sin(x^2)^2,x]





ちなみに,

計算結果のpdf化や

グラフのカスタマイズなどは,

Wolfram Alpha Proという有償ライセンスにならなければなりません.

月5ドルなので,払っても良いという人は使ってみると,

もっと便利になるかもしれません.


方程式

下記のような一見簡単そうな方程式も、

実際に自分の手で解こうと思うと,

非常に難しいことに気が付きます.



このような方程式を解きたい時には、

solve[sin^2x+cosx+2=0,x]

のように,

solve[方程式,変数]

と検索すると計算してくれます。



問題は簡単そうですが、

答えを見ると複素数で二重根号、arctanhと

非常にヘビーであることがわかりました(笑)


定積分

先ほどの積分だけでなく、

Wolfram Alphaは定積分もできます。

下記のような数式を[0,1]の区間で定積分したい時は、

Integral[sin(x)/cos(x^2),{x,0,1}]

のように

Integral[数式、{変数,最小値,最大値}]

と検索すると、答えてくれます。



本当に便利ですねえ.


多重積分

三次元空間内のある領域の体積を計算する時などに使用する

多重積分もWolframAlphaは計算してくれます。

下記のような数式のx,y,zに対する多重積分を解きたい時には、

Integral[sin(x)cos(y^2)tan(z-pi),x,y,z]

のように

Integral[数式,積分変数1, 積分変数2,....]

検索しましょう。



もはや自力では計算できる気がしません(笑)。




最大・最小問題

高校や大学で勉強した

ある関数の最大値・最小値を求める計算も

WolframAlphaなら一発です。

下記のような関数の最小値を求めるときには、

min[x^2+3y^2-10y+y]

のように

min[数式]

でその数式が最小値を保つ場合には計算してくれます。



最大値の場合には

max[数式]です。



3D Plotまでしてくれるので、

非常にわかりやすいですね。

高校の授業でも、手計算で計算したあと、

これで検算させてくれたりすると、

非常に面白いと思うのですが。

微分方程式

WolframAlphaは微分方程式も解けます。

例えば、微分方程式による

代表的な問題である

バネの単振動の微分方程式を解くときには、

下記のように検索すると解いてくれます。

mx(t)''=-kx(t)



よく教科書とかで見る結果が得られましたね。

ちなみに、tを省略して

mx''=-kx

でもちゃんと計算してくれます。


固有値問題・行列式

解析式だけではなく、

行列の基本的な計算もできます。

固有値の場合、

Eigenvalues{{1,1,0,0},{0,0,2,1},{1,1,1,0},{0,2,1,2}}

で4x4の行列の固有値を計算することができます。



行列式も同様に、

det{{1,1,0,0},{0,0,2,1},{1,1,1,0},{0,2,1,2}}

と検索すると、計算してくれます。



行列の固有値や行列式は

Excelでも計算できますが、

手っ取り早く値の確認だけをしたい時には、

WolframAlphaが便利ですね。


複素数問題

WolframAlphaは複素数問題も解けます。

例えば、2001年に摂南大学の入試に出題された問題である

下記の複素数方程式をxで解くには、

このように検索しましょう。

solve[(1+2i)x^2+(2+yi)x-3(1+i)=0,x]



WolframAlphaは大学にも入学できるほど、

賢いようです(笑)。



特殊定数の確認

自然対数の底eや円周率πの数値を確認したい時は、

下記のように検索しましょう。

pi to 1000 digits

e to 1000 digits


digitsとは桁数のことで、

1000とすると下記のように1000桁の定数値が表示されます。

ちょっと確認したい時に便利ですね。



またある定数のある桁の数字を知ることもできます.

例えば円周率の100桁目を知りたい時には,

100th digit of pi

と検索すると教えてくれます.



ちなみに,

silver ratio

feigenbaum alpha

Euler-Mascheroni constant

Conway constant

など,

自分は知らなかった面白い定数も

沢山教えてくれます.


進数変換

組み込みソフトを開発している時など、

ある10進数の数字を2進数で表したい時がありますよね。

そんな時は、下記のように検索しましょう。

210 to binary

すると下記のように10進数の210と2進数で表してくれます。





それ以外にも、4進数、8進数、16進数など代表的な

進数表現にも、頼んでいないのに変換してくれます(笑)

また、エンディアンの違う場合の16進数表記なども

自動で答えてくれるので、

非常に便利ですね。


素因数分解

WolframAlphaは中学生の時に

多くの数学嫌いを作成する

素因数分解もしてくれます(笑)。


下記のように、factorの後に素因数分解をしたい数字を入れましょう。

factor 29100



宿題の検算にも使えますね。

代入

微分や積分などをした後、ある値を代入したいときがあります。

そんなときは式の最後に

where x = 1

などと追加しましょう。



例えば、

前述の微分の問題で、微分した式にx=3を代入したい時は、

D[(x^2-y-sin(x^2)^2)^0.5,x] where x=3

と検索します。


すると、

完璧ですね。


その他参考記事

WolframAlphaでそこらへんにいる大学生の2割が答えられる問題を解い - MY ENIGMA

Wolfram|Alpha

Wolfram|Alpha