粗大メモ置き場

個人用,たまーに来訪者を意識する雑記メモ

matlab

微小回転に関する覚書:微小回転行列近似 VS クォータニオン

メモです。余裕のあるときに後でリファインします。 前提 微小回転行列 クォータニオンによる角速度の積分 MATLABで比較プログラム 問題設定① 微小回転行列の作成 クォータニオンの計算 問題設定② 自前関数 参考文献 前提 座標系が角速度 で回転しているとす…

MATLAB symbolic mathを使って煩雑な手計算を自動化する

座標変換などで手計算をあまりしたくないのでsymsをうまく使ってこれを回避する方法をメモします。 Image Jacobianの導出 時間変化する変数を定義 時間で偏微分 特定の数式の代入による式整理 小手先の代入テク 多項式から 行列形式への変形 まとめ prettyコ…

足立先生の「カルマンフィルタの基礎」の誤植について~MATLABを用いた代数リカッチ方程式の求解~

誤植はどの本にもあることです。 なお,手元にあるのは第4版です。 カルマンフィルタの基礎作者: 足立修一,丸田一郎出版社/メーカー: 東京電機大学出版局発売日: 2012/10/10メディア: 単行本(ソフトカバー)購入: 3人 クリック: 3回この商品を含むブログ (…

MATLABでnumpyで保存したcsvファイルを開く

結論 numpy arrayの保存 こんなデータになる MATLABでcsvを開く csvread:’,’をdelimiterにしないとおかしくなる. readtable:有能 Reference 結論 書きはじめの時は,numpyで保存したcsvがmatlabに変な感じで認識されるのを不満に思っていたのですが,途…

MATLAB&YALMIPでLMIを解けるようになるまでの手順

Software Installation SeDuMi SDP3 YALMIP LMIの試験プログラム 式の解説 プログラム 配置結果 やってみた所感 Software Installation ソルバはYALMIP以外にCVXgen等もありますが,どっちがいいんですかね?議論ありますが有識者の意見を聞きたいです。 Yal…

MATLABでGPSデータから距離を計算

GPSの緯度経度の行列から移動距離を計算するアルゴリズムがmatlab公式に用意されてないので自分で書きました。 探せばあるのかもしれません。 今回の手法ではヒュベニの公式というのを使います。 詳細な説明等はここのサイトがよいです。 画像も借りてきまし…

matlabのコマンドウィンドウでGitを使う

matlabコードをGitで管理していますがコマンドウィンドウからもgitを叩けるのをこのサイト見て知ったのでメモします。 外部コマンドの実行の仕方 一連のgit操作 注意点・エラー 自動でGitでpushする関数 外部コマンドの実行の仕方 じつは”!”を事前につけると…

極配置の実装:アッカーマン法,EigenvalueStructure法のMATLAB実装

序論・参考文献 よくある疑問とエラー アッカーマン法 参考資料 Outline MATLABコード MIMOの場合:EigenvalueStructure法 序論・参考文献 制御工学の授業で一度は計算させられる極配置ですが MATLABにはplaceなる関数があって,実務を始めてからは全く手計…

MATLAB LiveScriptで報告書作成

MATLAB LiveScriptとは 先人の調査所感 実際に書いてみよう ファイルの作成 よく使うショートカット 図や実行結果を載せる 数式を挿入 エクスポート 正規手段で Microsoft Print to PDF 総括 MATLAB LiveScriptとは ソースコードと説明用の式や図をInteracti…

MATLABでパーティクルフィルタ

流石に適当に書きすぎたか この辺の分野はどの専門を土台にするかでかなり説明などが変わってきます。 私は制御&ロボティクスが半々くらい。EKFやベイズの定理などはすでにMasterしているものとします。 (ていうか説明しない)基礎は確率ロボティクスで勉…

MATLAB グラフの色をうまいこと調整する関数

MATLABのplot関数で作成した図の色にいつも困っているので関数作成。 デフォルトのr g b c m y などで決める色はいつも微妙に感じるのでそれらを変えてみようという試みです。 テスト用データ作成 Defaultカラー抽出 どんな色がいいか? 色変更 自動色つけ関…

カルマンフィルタの推定値の信頼区間を書く

カルマンフィルタから信頼区間の線を引きたいというのは当然の要求だと思うのですが見渡す限り 良さげな文献が無いので自分で書きます。 書いておいて何ですが自信がないので訂正等のご意見を随時求めております。 あと,ブログの本文もMarkdownにシフトして…

jupyterとmatlabを有効に使うための備忘録

jupyterの使い勝手がだんだんわかってきたので本格的に使うにはどうすれば良いのか模索中です。 想定した運用 ショートカットキー LatexやPDFへの変換 GUIでやる コマンドプロンプトから pandocのインストール 文献 Latexマクロをjupyterで組む。 その他のEx…

Arduino&MATLABでサーボモータ(とか)を制御する

ArduinoとMATLABを連携すると要はコンパイルなしにいろいろデバッグができて作業効率が良いということです。 Pythonでもできそうなもんだけど誰か代わりに調べてください。この30分のビデオ見ればここにあることは全部わかります。 Using Arduino with MATLA…

jupyter notebookをmatlabで使う / Google Driveにnotebookを保存

ポ○ットモンスター 金/銀 みたいなタイトルですが、iPythonのセットアップについてです。 難易度はそこそこある気がします。「なみのり」を覚えてから来てください。 前提:Python環境 Anacondaを使う場合(簡単・ストレージを割りと食う) Minicondaを使う…

matlabで行列の特定の値を持つ行を検出・置換・削除する

今回はfind関数を主に使っていきたいと思います。 find:特定の条件に一致する部分を調べる 等号条件 不等号条件 findを使わない場合の記法との比較 特定の条件に一致する部分を置換 特定の条件に一致する部分を削除 関連する文献 find:特定の条件に一致す…

MATLABでPDFに余白を付けずに保存Ⅲ(MATLAB)

背景 古来より我々はmatlabの作るPDFのへんてこなことに悩まされ続けてきました。 今までも以下のようなシリーズで様々に悪戦苦闘してきました。ossyaritoori.hatenablog.com ossyaritoori.hatenablog.com 他の人のツールを使おう 以下のところからツールを…

MatlabでLevenberg-Marquardt法

過去記事が地味に反応あったので調子乗って続きをば。 ossyaritoori.hatenablog.com前回のGauss-Newton法に引き続き, Levenberg-Marquardt法についてです。フィッティングの手法としてはGauss-Newtonより多用される王道中の王道ですね。 概要 アルゴリズム…

MATLABで非線形最小二乗フィッティングする手順メモ

多数のデータ群から関数フィッティングを行う場合に非線形最小二乗法を用います。MATLABにはOptimization Toolboxなどがあり,それを用いると簡単にフィッティングできます。 以下のブログなんかに解説がありますね。 MATLABで非線形最小二乗問題を解く - Py…

MATLABでNaNやInfを何とかしたい

ダジャレみたいな軽い記事です。 NaNを0に置換 Infを0に置換 種明かし よくわからんので実験 NaNを0に置換 Aという行列の中にNanがあってそれを0にする場合,以下のように書きます。 A(isnan(A))=0 なお,matlabではfor文はべらぼうに時間がかかるので なる…

MATLAB figureの背景を分けて塗りつぶす (補題:3次Spline補間とPCHIPの比較)

完成図 と 目的 使う関数area()について 塗りつぶし用コードまとめ 関数化(注意点あり) 使い方 困った点・改善点 2017/2/12 :追記 補題:spline補間とPCHIP補間 完成図 と 目的 研究柄matlabで図を書くことが多いですが,稀にmatlabの背景領域に色を塗り…

Matlab program for dft,fft (離散フーリエ変換)

突然ですがmaltabのreferenceページって結構見づらくないですか?特にClassとして実装されてる奴らはどういう処理をするのかかなりわかりづらいと私は思っています。 どの操作が必要だったか忘れがちなので記しておきます。アホらしいですが... fft in MA…

MATLAB 画像の相互情報量の計算と比較 (地図と航空写真のマッチング)

随分昔に遊んだコードを掘り出して懐かしくなったのでネットに放流します。 輝度値の二乗誤差(SSD)とはまた違う画像の相互情報量なるものを計算して画像を比較する手法の紹介です。 伝統的に医療用画像なんかのマッチングに使われている感じです。今現在こ…

LucasKanade オプティカルフロー検出 @ MATLAB

この記事はメモです。 中のコードは以下のものをほとんど流用したので自分で書いたとはあまり言い張れないなぁ。 https://jp.mathworks.com/matlabcentral/fileexchange/48744-lucas-kanade-tutorial-example-1/content/LucasKanadeExample1/html/LKExample1…

MATLABのグラフから動画を作る

聞かれたので昼休みに作ったまでです。MATLABでたくさんFigureを出した時に比較する手段として動画にするというのはよくあると思われます。本プログラムのステップは 描画 getframeによる取得 Videowriterによる書き込み の3ステップになっています。 コー…

RLS(逐次最小二乗法) program for MATLAB Ⅱ( とC言語 )

前回のコードとの違い:簡単な場合に合わせた 前回のコードよりシンプルに,Ⅰ入力Ⅰ出力系の係数のみを求めたいってなった場合,若干式が変わります。 どっちかというとこっちの方が求められている?前回の記事 ossyaritoori.hatenablog.com 目的式 なんてこと…

RLS(逐次最小二乗法) program for MATLAB

2016/7/4 追記 背景:MATLABで使いやすい逐次最小二乗法のコードがない 組みました ざっくりした説明? 具体的な式 その他、忘却係数について ソースコード (関数版) ソースコード (クラスファイル版) 2016/7/4 追記 1入力1出力の系での推定は次の記事プ…

MATLABシンボリックでサーボ系設計

シンボリックでいろいろ作ったコードを保存するコーナーです。* コードの内容 プラントのABCD行列が数値で与えられた時に 状態フィードバックのF行列と状態推定器のK行列,1型積分器の係数を決定するところまで 半自動化しました。 キモはこれです。 特性方…

MATLAB solveでRootOfとかいう表記が出る場合

symbolicmath Toolboxを最近使うようになったもののいろいろとよくわからないことが多いので なにか問題にハマった時にはとりあえずメモをするようにしています。環境は MATLAB2015a です。 solveで方程式を解いたのにRootOf(~,z,1)となってよくわからない s…

MATLAB シンボリック変数の行列への代入に関するメモ

MATLABのシンボリック変数を用いた計算はとっても便利ですよね。コーディングも簡単なので効率良く使えるなら積極的に用いていきたいですが, 自分がハマったところをちょっと書き記しておきます。 シンボリック変数の行列やベクトルへの代入 以下のように事…