2016年10月8日土曜日

三角形ボタンの押下判定方法

基本的にViewで作成されるレイアウトは四角形だ
そこにいろんな形の画像でボタンを作るには、背景を透過にした絵のイメージ画像を使う
この方法で実装した際、Viewの絵の部分をクリックしたときに動作させたいが、画像の余白(透過)部分を押しても反応してしまう問題がある

三角形の画像を想定したとき、
Viewの余白を押したときは反応せず、画像部分を押したときに反応する処理を考える

2016年8月16日火曜日

数字の桁数を取得する方法(2進数ver)

前回紹介した「 数字の桁数を取得する方法」で
2進数表記時の桁数取得方法について触れてなかったので、改めて書いてく
基本的には2進数でもやり方は同じだ

2016年7月29日金曜日

数字の桁数を取得する方法

数字の桁数を取得する関数って意外とない。。
結構使うものだと思うんだけど、なんで提供されてないんだろ?
備忘録にまとめとく

2016年7月23日土曜日

ユークリッドの互除法による約分プログラム


問題
次の分数は約分できますか。できるのであれば、約分してもとっとも簡単な分数で表しなさい
\[ \frac{10033}{12877} \]
ユークリッドやなーって感じの問題が数学検定1級の練習問題で出てきた
そういえば
ユーグリットの互除法は、プログラムだと再起関数の例題でよく見かけるが、実際組んだことなかったので
プログラムでこの問題を解いてみることにする

2016年7月16日土曜日

主キーが二つのMapクラスの作り方(Java)

Javaに既存で存在するMapクラスは任意のキーワードに対し、
一意の値を返してくれる非常に便利なクラスだ
しかし、ちょっと応用させて、複数キーで管理したいとき、それ用のAPIは提供されていない
なので主キーが2つのときの実装方法を考えてみた

2016年7月9日土曜日

ラズパイ3をHDMIケーブルなしで初期設定する

ラズパイ3買った!!
最新のRASPBIANのイメージ取ってきて、中見てみたら最初から「opnessh-server」入ってるやん!
じゃー最初からSSHで接続して初期設定もしてしまえば、いちいちHDMIでモニタ出力いらないんじゃね?
ってことで、やってみた

本来のつなぎ方今回のつなぎ方

2016年6月26日日曜日

ラズパイでLatexを動かす方法

R言語や、ファイルサーバ、フォートランなど、ラズパイに実験データまとめれる環境が整ってきたので、
ついでにLatexで論文書ける環境を作ることにしてみた

2016年6月18日土曜日

ラズパイの画面のスクリーンショットをとる方法

VNCを入れて、WindowsからVNCViewerでラズパイを使ってるから
それほど意識したことなかったけど、ラズパイで作ったグラフ画像がほしくなったので、ちょっと調べてみた

ラズパイをファイル共有サーバにする

ラズパイにたくさんのファイルを送るのにscpコマンドを使うのはちょっと面倒だったのでファイルサーバ立てた
備忘録に手順をかいとく

2016年6月5日日曜日

ラズパイにR言語の環境を構築する

ちょっとR言語を使った統計に興味があったので構築してみた
なぜラズパイなのか。。たまたま手元にラズパイがあったから

 R言語とは
データ分析に特化してるプログラミング言語。統計解析ができて、解析結果をグラフで表示することができる優れもの!
プログラミング言語っていうけど、対話式で、データの保存もイメージを保存する感じになってて
ほかの言語とはちょっと違う印象

ラズパイにfortran95の環境を構築する

以前にWindows7にFortran77の環境構築をしたので、
今回はラズパイにFortran環境を構築していく
ただ、なんかFortran95になってしまったので、そこは悪しからず。。

2016年5月21日土曜日

掃き出し法による連立方程式の解法プログラム

以前、クラメルの公式を使った連立方程式の解法を紹介したが、13元くらいからめちゃくちゃ遅くなることがわかった
そこで今回は一番よくつかわれてる掃き出し法による解法で作ってみる

N元連立1次方程式の解法プログラム(マルチスレッド版)
N元連立1次方程式の解法プログラム組んでみた


掃き出し法とは

$N$元一次方程式$Ax=b$の解法の一つ
係数行列$A$に定数項の列ベクトル$b$を加えた行列 $[A|b]$ に「行列の基本変形」を行い $[E|u]$ に変形したとき、方程式の解$x_i=u_i$となる
行列の基本変形
行の入れ替え:n行目とm行目を入れ替える
行の定数倍:n行目を定数倍する ( 定数≠0 )
行の加減算:n行目を定数倍した値をm行目に加減算する
上記「行列の基本変形」を使うことで、行列を変形させていき、解を導いていく方法が掃き出し法だ
言葉だけじゃよくわからないので例で計算してみる

2016年5月7日土曜日

Emacsのインストール方法

Linuxのエディタはvimでいいと思ってるが、Emacsも有名だ。なので、試しに使ってみた。

2016年4月23日土曜日

モンティホール問題をシミュレーションしてみる

最近、統計学にハマってるので、有名なモンティホール問題をベイズの定理で解いてみる
また、プログラムも組んで理論解と数値解の比較もしてみる
モンティ・ホール問題
3つの箱があり、その内1つにアタリがある
最初に自分は箱を1つ選ぶ
その後、司会者は「自分が選んだ箱」以外からハズレの箱を1つ公開する
自分は箱を選び直す権利があるが、選び直すべきか?

2016年4月16日土曜日

gnuplotをインストールする方法

こんな感じのかっこいいグラフが作りたかったので、大学時代によく使ってたgnuplotをインストールしてみた。
OSはLinux(Ubuntu14.04)です。

2016年3月19日土曜日

N元連立1次方程式の解法プログラム(マルチスレッド版)

前、Fock-Joinフレームワークを使ったフィボナッチ数列を書いたとき、
連立方程式に応用したらもっとはやく計算できるんじゃね?と思ったので、作ってみた
連立方程式は前回同様クラメルの公式。今更だけど、連立方程式は掃き出し法が最強だと思う。。

前回との演算の違い

前の行列式を求めるロジックはこんな感じ
※総和を返すと書いているが、厳密には総和ではなく (-1)j * a0j の係数が付きます

これを単一スレッドで処理すればそりゃ遅くなる。
そこで今回は上図の水色部分をすべてスレッドにして平行処理させようと思う

2016年1月9日土曜日

VirtualBoxの画面をフルスクリーンで表示させる方法

VirtualBoxで作った仮想環境の表示画面が小さすぎて全然見れない
右と下の画面が見切れすぎてて酷かったので、フルサイズにすることにした

2016年1月2日土曜日

android - ラズパイ間でのソケット通信

新年一発目はラズパイとアンドロイドでの通信!
C++言語(サーバ側)と、Java言語(クライアント)の入り乱れたややこしい分野から開始