2019-05-01から1ヶ月間の記事一覧

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…