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

Kindle for Amazonの英和辞書文字化け問題の解決法

Nexus 7(2012)にて、Kindle for Amazon内蔵の英和辞書が文字化けするようになってしまった。おそらく2013年12月、Kindle for Amazonが更新されて、強制的にログインし直しさせられてからだと思われる。 Amazon.co.jpのヘルプデスクに教えてもらった方法によ…

Macの左下に常時表示される灰色のウィンドウを消す

mac

Macにて、あるときから、画面の左下に灰色の角丸ウィンドウが常時表示されるようになってしまった。 解決法はMAC X を使っています。なにかをダウンロードした記憶は特段ありません。 左下... - Yahoo!知恵袋の通り。Ctrl+F5を押してVoiceOverを無効にすれば…

CourseraのMachine Learningを受講中

Courseraというオンライン教育サイトで、Andrew Ng氏のMachine Learningの講義を受講中です。Andrew Ng氏といえば、Deep Learningの研究者でもあり、Courseraの設立者でもあるえらい人。どんなにムズい講義なのかと思いきや、講義は超が付くほど親切です。具…

Octaveでプログラムを途中で終了する方法

Octaveでコードを書いているのだが、コードを途中で完全に終了させる方法、つまりC言語のexit()と同じことをする方法がよく分からない。以下に分かったことを書いておく。errorを使えばとりあえずよいのかなという結論。他に良い方法があれば教えて下さい。 …

eyeと行ベクトルを使った初期化技

vec = [ 2; 3 ; 6] という行ベクトルがあるとする。このベクトルとeye()関数を使った初期化技。 > eye(10)(vec,:) ans = 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0まずeye(10)により10x10の単位行列を作り、その2行目、3行目、6行目を取…

Octaveで行列の全要素の和を求める

例として2x3の行列Aを考える。この行列のすべての要素の和を求めたい。 A = [ 1 2 3; 4 5 6 ]すぐに思いつく方法は以下の2通り。 方法1. sumを2回使う sum(A)とすると、Aの列ベクトルごとの和が計算され、1x3の行ベクトルになる。さらにもう一度sumを使うと…

スペースアルクで単語をダブルクリックすると、その単語に飛ぶ

これ知らなかった… 英語でも日本語でも可能。 英語・語学の学習情報サイト「スペースアルク」:アルク

MavericksでEmacsのフォントが可愛くなる問題を解決する

Mac OS を Mavericks にアップグレードしたところ、Emacsの日本語フォントがなぜか可愛すぎるものになってしまった。 SOTA » Emacsの設定 (フォント) を真似して、日本語フォントを指定するコードを~/.emacs.d/init.elに記述した。フォントは明朝からゴシッ…

VC++でUnicode文字の出力を試みる→MessageBoxでの出力はできたけど標準出力の方法分からず

C++

前回の記事に引き続いて、VC++で日本語文字を扱う方法についてあれこれ調べている。調べれば調べるほど、開いてはいけない蓋を開いているような気がしてならない。 今回はUnicode文字をVC++で出力することを目指した。結論から言うと、MessageBoxを使ってポ…

C/C++での日本語文字列の扱い、どうすればよいか

C++

C/C++でどう日本語の文字列を扱えばよいのか、いまだによく分かっていない。頭を整理するために、自分が理解している範囲のことを一度まとめてみる。嘘を書いているかもしれない。また、環境はWindowsのみを想定している。 マルチバイト文字列とワイド文字列…

VC++のデバッグ実行で「*.cppが見つかりません」と出る問題への対策

Visual Studio 2013にて、ファイルの文字コードを変更した後、デバッグ実行をしようとすると、以下のように「*.cppが見つかりません」「現在の呼び出し履歴のフレームのソースを表示するには、*.cppを見つける必要があります」というエラーが出てステップ実…

.(ドット)で始まる設定ファイルを作るもっとも簡単な方法

Windowsのエクスプローラーにて .(ドット)で始まる設定ファイルを作ろうとすると、「ファイル名を入力してください。」というエラーが出てファイル作成に失敗する。.(ドット)で始まるファイルを作るもっとも簡単な方法は、ファイル名の末尾にもドットを加え…

Windows 7にVS2013をインストールしようとして軽くはまる

先日提供開始されたMicrosoft Visual Studio Express 2013をWindows 7にインストールしようとしてはまった話。適当にダウンロードしたインストーラを実行すると、「セットアップがブロックされました」「このバージョンのvisual studioを使用するには、コン…

Python 3ではまったこと

Python 2.xの知識もたいしてないのにもかかわらずPython 3.xのコードを書いていると、細かい違いでハマることが想像以上に多い。ここではそんなハマりどころをまとめておく。 printが文から式になった Python 2.xでは print "aaa"と書けたのに、Python 3.xで…

代替トークンを使ってC++っぽくないC++コードを書く

C++

C/C++には代替トークン(alternative tokens)なるものがあることを知った。まず下のコードを見てほしい。 %:include <iostream> using namespace std; int main() <% int array<:100:>; for (int i = 0; i < 100; ++i) <% array<:i:> = i; if ( i % 3 == 0 and (not i % 5 == 0)) <%</:i:></:100:></iostream>…

C++11のthreadで遊んでみる その3 - condition_variable編

C++

この記事は続き記事です。目次→C++11のthreadで遊んでみる - minus9dの日記 - 今回はC++11のcondition_variableを使ってみる。condition_variableは日本語ではそのまま条件変数と訳される。条件変数は、あるスレッドを待ち状態にして、ある条件が揃ったとき…

GCC 4.7.3でC++11のsleep_for()を呼ぶとコンパイルできない件

C++

Cygwin + GCC 4.7.3 な構成で、C++11のstd::thread::sleep_for()を使ってみようと以下のコードを書いた。 #include <thread> #include <chrono> int main() { std::this_thread::sleep_for(std::chrono::milliseconds(300)); return 0; } 以下のコマンド g++ -std=c++11 slee</chrono></thread>…

C++11のthreadで遊んでみる その2 - mutex編

C++

この記事は続き記事です。目次→C++11のthreadで遊んでみる - minus9dの日記 - mutexを使って排他制御 スレッドを4つ作って、それぞれのスレッドでIDを表示するプログラムを書いてみる。 #include <iostream> #include <thread> #include <vector> void worker() { std::cout << "thread</vector></thread></iostream>…

C++11のthreadで遊んでみる

C++

この記事は続き記事です。 第1回:この記事 第2回:C++11のthreadで遊んでみる その2 - mutex編 - minus9dの日記 第3回:C++11のthreadで遊んでみる その3 - condition_variable編 - minus9dの日記 - C++11の標準ライブラリではスレッドのためのライブラリが…

C++のconstの復習

C++

よくわからなくなるのでメモ。 ポインタ変数につけるconst ポインタ変数に対してconstをつけるときは、場所によって効果が違う。 #include <iostream> using namespace std; int main(){ int a = 100; int b = 100; // ポインタが指す先を変更できない const int* p = </iostream>…

C++11のunordered_setと、setとの所要時間を比較する

C++

C++11の標準ライブラリで新たに加わったunordered_setの練習として、従来のsetとの速度比較を行ってみる。unrodered_setは、setと異なり、挿入した数字をソートせずに保存する。この性質はPythonのDictionaryやPerlのHashと同じ(はず)。単に出現した値を記…

C++11で、chronoライブラリを使って時間を計測する

C++

C++11で新しく加わったchronoライブラリを使うと、簡単に経過時間が計測できる。もう環境依存のコードを書かなくてよくなるなら嬉しい。サンプルコードは以下。シンプルなのですぐわかると思う。 #include <iostream> #include <chrono> int main() { auto start = std::chrono</chrono></iostream>…

今すぐに使いたいC++11の新機能

C++

最近導入の敷居が下がってきたC++11に興味が湧いてきた。C++11の新機能を眺めてみると、正直半分くらいの項目はよく理解できないのだが、いくつかの項目は"Better C++"としていますぐにでも使いたいものであった。今回は導入の効果が高そうなC++11の新機能を…

MacのClangでC++11を試すには clang++ -std=c++11 -stdlib=libc++ としてみよう

C++

MacのClangもアップデートできたので早速C++11を試す。unordered_setという機能を使ってみようと、main.cppに #include <unordered_set> ...と書き $ clang++ -std=c++11 main.cppとビルドを試みるも、以下のエラーが出てコンパイルに失敗。ヘッダファイルが見つからないら</unordered_set>…

MacのClangを更新

mac

MacにインストールされているClangのバージョンを更新した。もともと入っていたClangのバージョンは以下の通り。 $ clang++ --version Apple clang version 2.1 (tags/Apple/clang-163.7.1) (based on LLVM 3.0svn) Target: x86_64-apple-darwin11.4.2 Threa…

C/C++のポインタと参照、右寄せか左寄せか

C++

CやC++でポインタ変数を宣言するとき、次の2通りの書き方はどちらもコンパイルが通る。 int *p1; // 右寄せ int* p2; // 左寄せ 自分は右寄せで書くことが多い。理由は特にない。最初にCを勉強するときに使った教科書が右寄せのスタイルをとっていたから、と…

グラフのすべての2頂点間の最短路をワーシャルフロイド法で求める

ワーシャルフロイド法というのを使うと、グラフのすべての2頂点間の最短路を求められるらしい。蟻本を参考にして解いてみた。以下のグラフを例にとって、全点対の最短路を求める。 コードは以下。 #include <cstdio> #include <algorithm> #define REP(i,n) for(int i = 0; i < </algorithm></cstdio>…

C++で、重複順列を全列挙する

異なるn個のものから、重複を許してr個を取り出して列をつくることを、n個からr個とる重複順列という。これをC++で全列挙することを考える。例題として、1〜5の数字を使ってできる3桁の数字を全列挙することを考える。そのコードは以下の通り。 #include <iostream> #i</iostream>…

Excelで正規分布に従う乱数列を生成する

rand()関数とnorminv()関数というのを組み合わせると、任意の正規分布に従う乱数列を生成できるらしい。 例えば平均70、標準偏差10の正規分布に従う乱数列は以下のようにして生成できる。 =NORMINV(RAND(), 70, 10)いくつかのセルに上の式をコピーして、以下…

高校数学のベクトルを復習

高校時代のベクトル、つまり幾何と深く結びついた2次元or3次元のベクトルについて、すっかり忘れていた内容を以下にまとめた。自分用のまとめなので、全然網羅性はない。 内積の定義 内積と成分 余弦定理を使って導く。 中線定理 △ABCの辺BCの中点をMとした…