Mathematica

測地線距離計算式・計算ライブラリの精度評価

測地線距離計算式・計算ライブラリの精度評価

2地点の緯度経度を与えてその間の距離を求める計算式はいくつかあり、 GeoDistanceとその他の測地線距離算出式の精度 ではランダムな2点間の距離や、日本での運転経路データを用いて代表的な計算式の精度を評価したが、 短い距離の計算精度の評価と、対蹠点付近の計算精度の評価が不十分であった。

そこで、比較する計算式を追加した上で、GeographicLibのテストデータを用いて計算精度の再評価を行った。

UbuntuでMathematicaノートブックを関連付ける

UbuntuでMathematicaノートブックを関連付ける

Ubuntuのアップデート時にMathematicaノートブックをNautilusから起動できなくなってしまって少し面倒だったので、再度設定を行った。

ついでに、すでにMathematicaが起動している時に2つ目のノートブックをNautilusから開いた時、デフォルトでは別プロセスのMathematicaが起動してしまってライセンスが要求されてしまう点にも対処した。

Mathematicaの特殊・省略記法一覧

Mathematicaの特殊・省略記法一覧

Mathematicaの省略記法はドキュメントやヘルプで調べにくいのでまとめてみる。 関数適用 @ (前置記法) f@aはf[a]と等価。 後ろのカッコ(])を入力しなくてもすむ。 Plot[Evaluate@Integrate[x^2, x], {x, -3, 3}] // (後置記法) a // fはf[a]と等価。 数値にする(N)や簡約化(Simplify、FullSimplify)でよく使う。 In[1]:= Sin[2] // N Out[1]= 0.909297 ~ ~ (中置記法) a~f~bとすると、f[a, b]と等価になる。 In[1]:= {1, 2}~Join~{3, 4} Out[1]= {1, 2, 3, 4} 関数適用
GeForce 1060搭載ノートPCにUbuntu 17.10 + NVIDIAドライバ + CUDA + Mathematia 8をインストール

GeForce 1060搭載ノートPCにUbuntu 17.10 + NVIDIAドライバ + CUDA + Mathematia 8をインストール

MathematicaからCUDAを使いたかったので、GPU搭載のノートPCを購入してセットアップした。 購入PC PC工房のGeForce 1060搭載ノートPC(OSなし) : STYLE-15FX093-i7-RNFR [OS LESS] CPU: Intel Core i7-7700HQ 2.8GHz Memory: 16GB Storage: SSD 240GB + HDD 2TB GPU: NVIDIA GeForce 1060 6GB Ubuntu 17.10 日本語Remixをダウンロード 旧PC(Ubuntu 16.04)で Ubuntu Desktop 日本語 Remixのダウンロードから、ubuntu-ja-17.10-desktop-amd64.isoをダウンロー
球面上の一様分布

球面上の一様分布

球面上に一様分布するランダムな点を生成したい時、 単純に極座標表示でθとφを一様分布させると、極付近に点が集まってしまう。 data1 = Transpose[{Sin[t] Cos[f], Sin[t] Sin[f], Cos[t]} /. { f -> RandomReal[{0, 2 Pi}, 2000], t -> RandomReal[{0, Pi}, 2000]}]; g1 = ListPointPlot3D[data1, BoxRatios -> {1, 1, 1}] 球面上で一様分布させるには、下記のようにθにArcCosを使う (θの位置の確率をSinθに比例させたい→累積確率分布関数はCos→逆関数はArcCos)。 data2 = Transpose[{Sin[t] Cos[f], Sin[t] Sin[f], Cos[t]} /. { f -> RandomReal[{0, 2 Pi}, 2000], t -> ArcCos[RandomReal[{-1, 1}, 2000]]}]; g2 = ListPointPlot3D[data2, BoxRatios -> {1, 1, 1}] なお、多次元球
m-241のバイナリデータからトラックログを吸い出す

m-241のバイナリデータからトラックログを吸い出す

GPSロガー(Holux m-241)のメモリが破損しているのか、 実は6月30日と7月3日の軽井沢→直江津ツーリングと、9月の西九州→佐多岬ツーリングでは、 ログが破損していたため、Googleのロケーション履歴を代用している。 バイナリデータは一応吸い出せているようなので、その構造を調べると、 HOLUX m-241 LoggerUtility .trlファイル構造の覚書 より以下のような構造になっている。 1レコード20バイトの固定長 時刻4バイト 緯度
Compileで使用するCコンパイラを変更する

Compileで使用するCコンパイラを変更する

Mathematica 8から、CompileでCコンパイラを使って直接ネイティブコードにコンパイルできるようになった。 使用するCコンパイラは、 Needs["CCompilerDriver`"]; CCompilerDriver`$CCompiler = { "Name" -> "GCC", "Compiler" -> CCompilerDriver`GCCCompiler`GCCCompiler, "CompilerInstallation" -> "/usr/bin", "CompilerName" -> Automatic }; というように、CCompilerDriver`$CCompilerを変更して指定する。 以前からのCompile(“WVM”)と、各コンパイラの比較のため、ベンチマークを行ってみた。 検証環境は以下の通り。 CPU: Intel Core-i7 3770 (インテル
3Dグラフィックスが正常に表示されない問題

3Dグラフィックスが正常に表示されない問題

たまたま私の環境の問題かもしれないが、 Intel Core-i7 3770 Ubuntu 14.04 LTS Mathematica 8.0.4 Home Edition という環境で、Mathematicaのノートブック上でPlot3DなどのGraphics3Dオブジェクトが、 うまく表示できないことに悩まされていたが、その解決法が分かった。 メニューの「編集」→「環境設定」から、「詳細」タブを開き、「オプションインスペクタを開く」をクリック。 オプションインスペクタでは「グラフィックス設定」「Rendering
Mathematicaで論文用の図やグラフを作成するときのまとめ

Mathematicaで論文用の図やグラフを作成するときのまとめ

Mathematicaで作る図やグラフは美しいんだ!ということを伝えたいので、 もう数年も前になるが、修士論文を書くときにMathematicaで作るグラフにこだわった点を思い出しながらまとめてみる。 論文を書くために使うソフトウェア 私はpLaTeXで論文を書いたが、研究室ではWordが推奨されていた。 図表の番号を管理する必要や図表の位置がずれて飛んでいってしまうといった事態も起きないし、目次や索引、