読者です 読者をやめる 読者になる 読者になる

みやびの備忘録

LaTeXとかjulia言語とか. 覚えておきたいことをつらつら書いています.

画像ファイルはPDF!繰り返す. 画像はPDF!!

LaTeXで文書を書いていて, コンパイルまではすんなり終わるのに, 最後のPDFへの埋め込みに異常な時間がかかってお困りの皆さん. それ, epsファイルのせいっぽいっすよ.詳しいことはよく分かりませんが, epsを内部でPDFに変換しているんだとか. 埋め込み中に…

gnuplotで背景色を黒にする

gnuplotでスライド用のグラフの画像を作っています. 遠くからでも見やすい色にしたくて色々変えてみたところで, 綺麗なカラーバリエーション(?)にするなんて素人には無理な話なんですね. 特に私美的センスゼロなもんで.なんだかんだデフォルトが一番. しか…

LaTeXのcaption, gnuplotのterminal

本当にただの備忘録. 忘れそうだから. LaTeXでcaptionの中で数式番号などを参照したいときは, \refとか\eqrefとかの前に\protectをつける.gnuplotでeps等に出力した後, > set terminal wxt > replotとすればデフォルトの画面に戻れて, ファイルも閉じる. 設…

陰関数のグラフ

gnuplotでは陽関数のグラフしか書けない. そこで陰関数のグラフを書くために, のグラフの等高線を利用して書くんですね. 詳しくは http://www.cymric.jp/old/common-soft/gnuplot_inkansu.html このページを参照してちょ.しかし困ったことに縦横比が変えられ…

グラフの縦横比

gnuplotでグラフの縦横比を変える, set size ratioというコマンドがあるのだが, よくわからず使っていた. set size ratio -1とすれば と の目盛り自体が となり, set size ratio aで, グラフの外枠の縦横比が となる.例えば黄金比にしたいなら set size rati…

多倍長計算

Juliaで多倍長の小数演算. そう!BigFloat! a = BigFloat(0.1)って書いてたけど, こうではなく a = big"0.1"って書かねばならんらしい. BigFloat()っていう関数に渡す前の数字がFloat64で先に読み込まれてしまい, ずれた値が返ってきてしまう.ただ, big""っ…

align再発見

\begin{align} \begin{array}{ll} \begin{array}{rll} a & = & 1\\ a & = & 2 \end{array} & \begin{array}{l} (i=1,\, 2,\, \ldots,\, 10)\\ (i=11,\, 12,\, \ldots) \end{array} \end{array} \end{align} って感じで数式書いてて, おっ, ちゃんと揃えられ…

配列の初期化(任意精度浮動小数点演算)

新年明けましておめでとうございます. 年越し研究室は避けたものの, 無事プログラミングをしながら年を越したみやびでございます. 配列の初期化は a = zeros(2) b = zeros(3, 2)ってするのだが, ここにいくら a[1] = BigFloat(1.0) b[2, 1] = BigFloat(sqrt(…

配列の扱い

JULIA言語では基本的に変数の宣言, 初期化は必要ない. a = 1 #int型 b = 1.0 #double型と, 勝手に認識してくれるし, c = a+b #1.1と, 自然な形で計算してくれる. あ, #~は1行のコメントアウトね. ちなみに複数行の場合は#= ~~~ =#で囲む.話を戻そう. 配…

関数の定義

functionだけ. 単純! function hoge(x) return x + 1 end x = 1 y = hoge(x) println(y) Cでいうところのdouble型(int型?)関数ですね. returnは省略可能.しかしvoid型の使い方が分からん!困った! さっきから分からないことだらけじゃないか! まあつまり…

for文, while文

基本的な構文 第2回 for文, while文みんな大好きループの代表格, forとwhileについて. for i in 1:10 println(i) end最後にendを置くのはif文と同じ. 変数を10, 9, 8, …と動かす方法がまだ分からず書かなきゃいけないプログラムが進まない… とりあえず普通に…

出力に関して

if文書いててこれを先に書くべきだったかと…printlnで改行付きの出力ができる. JULIA言語はCなどと違って変数の型宣言をする必要がないので, %fとか%dとかは必要なく, a = 1 println(a)って感じ. 横にデータを並べて間に空白を入れたいときは print(a) print…

if文

基本的な構文 第1回 if文 a = 1 if a == 1 println(a) elseif a > 1 a = a + 1 println(a) else a = a - 1 println(a) endこんな感じ. 全ての処理が終わるところにendを入れる. if ~~ end else ~~ endは間違い.

JULIA言語について

数値計算に特化したプログラミング言語, JULIA言語.数や文字を結構直感的に(?)扱えたり, 多倍長計算を簡単に出来たりなど, まあなにかと便利なんですよ. Cで多倍長計算を実装しようとしたとき, どれだけ苦労したことか…結局出来なかったし…で, デスクトップ…

連立方程式(数式番号に(1.1a)とかを使いたい)

empheqパッケージを利用した連立方程式の書き方. 数式番号(1.1a), (1.1b)ってやつを使いたい. \usepackage{amsmath} \usepackage{empheq} \begin{document} \begin{subequations} \label{zentai} \begin{empheq}[left=\empheqlbrace]{align} x+y &= 1\label{…