2019-01-01から1年間の記事一覧

成長率の計算

以下に改訂版の既述あり。 成長率の計算(改訂版) - ハリ・セルダンになりたくて(はてダから移行中) Rを使って成長率(%表示)を計算する方法についての備忘録。 前提:tsDataをベクトルもしくはtsオブジェクトとする。 その1:対数差分 diff(log(tsDat…

RでX-13ARIMA-SEATSを使う(2019年6月版)

自分用の覚書CRANにあるx13binaryが使えるようになったので、自分でX-13ARIMA-SEATSをコンパイルする必要がなくなり、MacとWinの違いもなくなりました。 [インストール]GNU Rで二つのパッケージをインストール install.packages("seasonal") 注:seasonalを…

GNU R (Windows10)にR Interface to 'Keras'をインストールする

GNU R (実際の作業はRstudio)でKerasをインストールしたときの覚書。基本的には(1)Anacondaインストール、(2)Anacondaでtensorflowインストール、(3)R上でdevtoolsインストール、(4)devtoolsでkerasインストール、(5)Windows上でRtoolsインス…

Rstudio (Windows10)でRのでパッケージをインストールする

Rstudio (Windows10)でRのでパッケージ(devtoolsなど)をインストールするとき、パスに日本語がある場合、Rstudioが認識できない(日本語パスの部分が????になる)。 libpathsでパスを指定する方法もあるが、一番簡単なのはRstudioを管理者権限で起動してイ…

matlab 警告: 名前が存在しないか、ディレクトリではありません

Windows10でDynareをインストールしたあとに「matlab 警告: 名前が存在しないか、ディレクトリではありません」という警告がでる問題の解決方法。 cd C:\dynare\4.5.7\contrib\ms-sbvar\TZcode\MatlabFiles\ edit startup.m ms-sbvarを使わない場合は、以下…

シンボリック関数を関数ハンドルに直して、arrayfunを適用する

arrayfunの使い方 - ハリ・セルダンになりたくて(はてダから移行中) と Matlabのシンボリック式を無名関数(関数ハンドル)に変換する関数 - ハリ・セルダンになりたくて(はてダから移行中) の合わせ技。 sf(x,y)というシンボリック関数があった場合、そ…

ある数字の繰り返しである行列を作成するのに効率的方法は?

たとえば、7が単に並んだ列ベクトルをつくるとき、Matlabで一番効率的な方法はなにか? tic; repmat(7, 1000000,1); toc;経過時間は 0.006551 秒です。tic; ones(1000000,1) * 7; toc;経過時間は 0.008067 秒です。 repmatの方が微妙に早い?のか?

arrayfunの使い方

Matlabに詳しい人には当たり前の話だと思うがarrayfunの使い方を自分用にメモ(Rではapply系の関数に該当するのがarrayfun、cellfun、bsxfunだと思えばいいのかな・・・): plusFun = @(x, y) x + 2 * yplusFun(1,2)arrayfun(plusFun, [1 2], [3 4])arrayfu…

Symbolic mathで微分演算子っぽいものを作る

Symbolic mathで微分演算子っぽいものを作ることができる。なんの役に立つか不明だが、面白い機能なので覚書。 [問題の定式化] 2回微分可能な関数について以下の簡単な常微分方程式を考える。 微分演算子を以下のように定義する。 微分演算子を使えば、常微…

Symbolic mathではシンボリック関数の配列が作成できる。微分もできる。

使い方次第だと思うが、面白い機能なので覚書。 シンボリック関数はsymfunで作ることができる(フォーマルなやり方)。簡易なやり方としてsym f(x,y)のようにすることもできる(xxとyyは自動生成される)。 syms phi1(xx) phi2(xx); phi1(xx) = xx; phi2(xx)…

シンボリック式・シンボリック関数はstringで文字列に変換できる

何に役立つのか分からないが、面白い機能なので覚書(この機能はMatlabドキュメントに載っていないようなので)。 syms xx yy; % シンボリック式はstringで文字列に変換できるstring(xx + yy) % シンボリック関数もstringで文字列に変換できるtestFun = @(xx…

Matlabのシンボリック式を無名関数(関数ハンドル)に変換する関数

Matlabのsymbolic math toolboxを使わない人にとってはどうでもいい話題ですが、シンボリック式を最適化しようとして少し困ったので、覚書。 Matlabのシンボリック式またはシンボリック関数を無名関数(関数ハンドル)に変換する関数が存在する。使い方はこ…

Miranda-Fackler (2002) p. 132のテンソル積による計算結果がMatlabのkronの結果と同一であることの確認。

% Miranda-Fackler (2002) p. 132のテンル積による計算結果がMatlabのkronの結果と同一であることの確認。 syms x1 x2; aa = [ 1, x1, x1^2] bb = [ 1, x2] kron(bb, aa) 注:ベクトルの場合、テンソル積とクロネッカー積の結果は同一となる(だったはず)。…