日: 2016年8月25日

物欲主義! Tabletを買ってしまった件

iPod Touchを持っているのだが、最近、Amazonのプライムビデオで『弱虫ペダル』をiPodで観ていてふと思ったことが、

観ている間ゲームできないんですけど・・・

ってな話。
「いや、観ている間ゲームはしないっしょ」と突っ込まれそうだけど、例えば、ちょっとメールを確認したいとかね、わざわざ画面切替えないといけないわけ。
面倒ですな、と思って、早速Amazonでタブレットを漁ってみた。
Amazonの動画を観るだけだったら、とKindleタブレットも候補に挙げてみたが、さらにふと思ったのは、ポケモンGOのこと。
iPodだとブチブチ切れちゃう(最終的にGPSの感度でなく、メモリかなぁとも思い始めてきた。)ので、んじゃ、GPS付いてるタブレットにしてはどうかと調べてみた。

で、一目散。Sony Xperia Tシリーズ
サイズによって値段が違うものの、5万円かぁ・・・きついなぁ。
ASUSなんてどうかなぁ・・・どうかなぁ・・・。

購入。。。

5万円超のタブレットを買ってしまった。PCより高いやないか!とか気がついたのは購入後。
GPS付いている2万円台のタブレットがあるやろ!と、気がついたのは製品が届いた後。

いやぁ、Xperiaが欲しかったんです!!

そう、ただそれだけだった。
いや、それだけじゃない。
一応ハイレゾ対応してるから、音楽だってmicroSDにいれて聴ける!とか考えたし、
デザインもまるまるしてなくって自分好みだし、
し・・・・・・・

えっと、
それぐらいかな。

まぁ、でもめっちゃ気に入ってて、常時私とともにある感じ。
いやぁ、いい買い物したよ。
5万円分使いまくってやる!(潰れない程度に)

Java覚書 ExcelのSLOPE関数をJava化してみる

回帰直線の傾きを求めるExcelのSLOPE関数をJavaで作成してみる。

public class Main {
    public static void main(String[] args) throws Exception {
        // y値のみで、かつ、int型
        int y[] = new int[]{70,80,30,40,50,20};
        slope(y);
        // x,y値で、かつ、float型
        float[][] xy = { {2.5F,10.3F}
                        , {3.0F,24.3F}
                        , {3.2F,30.5F}
                        , {5.0F,42.5F}
                        , {6.1F,53.4F}
                        , {8.9F,48.8F}
                       };
        slope(xy);
    }
    
    // 回帰直線の傾きを算出(int型 y値のみ渡す)
    static float slope(int val[]) {
        float[][] f = new float[val.length][2];
        int i = 0;
        for(int v : val) {
            f[i][0] = (float)i;
            f[i][1] = (float)v;
            i++;
        }
        return slope(f);
    }
    
    // 回帰直線の傾きを算出(float型 x, y値を渡す)
    static float slope(float[][] val) {
    float sumX = 0;
    float sumY = 0;
    float sumXX = 0;
    float sumXY = 0;
    float n = val.length;
    for(int i = 0; i < val.length; i++){
       float x = (float)val[i][0];
       float y = (float)val[i][1];
       sumX += x;
       sumY += y;
       sumXX += x*x;
       sumXY += x*y;
     }
     System.out.println("a : " + (float) (n*sumXY-sumX*sumY)  / (float) (n*sumXX-sumX*sumX));
     System.out.println("b : " + (float) (sumXX*sumY - sumXY*sumX) / (float) (n*sumXX - sumX*sumX));
     return (float) (n*sumXY-sumX*sumY)  / (float) (n*sumXX-sumX*sumX);
    }
}