- 日本語がなければ export でできる.
- 日本語が入る場合
- TeX に ucs をインストールする必要がある。
- https://www.ctan.org/pkg/ucs
- C:\opt\w32tex\share\texmf-local\tex\latex\ucs へ ucs.sty などをコピー
- jupyter-nbconvert.exe がつかう tex のクラスファイルを変更する必要がある。
- バッチファイルで jupyter-nbconvert.exe を起動、tex 化したのちコンパイルするのが簡単.
- もしかすると jupyter の設定を変更できるかもしれない.
- TeX に ucs をインストールする必要がある。
- 中間ファイルとして .tex ファイルと画像ファイルたちが残っているので、気に入らない場合は直接手を加える
- 一行のソースが長いとセルの幅不足で右端が切れてしまう問題には、事前の手動改行で対処。TeX 上は verbatim を使っているので何ともしようがない。
- listings を使うように変更すれば何とかなるかも.
- タイトル(\title) には元ファイル名が使われてしまう。
行列の行列の作り方
行列の行列、ベクトルの行列を作る 4 つの方法を比較する。kyewords: matlab, meshgrid, repmat, matrix of matrices, matrix of vectors, comparison
Contents
要素アクセス
clear; Y = 40; X = 30; A = rand(Y, X); YY = 30; XX = 40; tic; for yy=1:YY for xx=1:XX for y = 1:Y for x = 1:X B((yy-1) * Y + y, (xx-1) * X + x) = A(y, x); end end end end T1=toc
T1 =
4.2194
ones
clear; Y = 40; X = 30; A = rand(Y, X); YY = 30; XX = 40; tic; x=(1:X)'; xx=x(:, ones(1, XX)); y=(1:Y)'; yy=y(:, ones(1, YY)); B=A(yy, xx); T2=toc
T2 =
0.0021
repmat
clear; Y = 40; X = 30; A = rand(Y, X); YY = 30; XX = 40; tic; x=(1:X)'; xx=repmat(x, 1, XX); y=(1:Y)'; yy=repmat(y, 1, YY); B=A(yy, xx); T3=toc
T3 =
0.0017
meshgrid
ほかと異なり、B は正方行列に限られる。clear; Y = 40; X = 30; A = rand(Y, X); YY = 30; XX = 40; tic; x=(1:X)'; y=(1:Y)'; [xx, yy] = meshgrid(x, y); B=A(yy, xx); T4=toc
T4 =
0.0018


