月別アーカイブ: 2020年8月

iPhoneでJupyter Notebookを使ってPythonしてみた!

厳密には Juno Connectというアプリなんですが、ほぼ Jupyter Notebookそのままに使えます。 Juno Connect 1.5.10分類: 開発ツール,教育価格: ¥1,220 (Rational Matter) iPhoneでPythonプログラミングと言えば、Pythonista3が有名だと思います。 Pythonista 3 3.3分類: 仕事効率化,教育価格: ¥1,220 (omz:software) 私も以前「[Pythonista3] Youtubeダウンロードライブラリ「Pytube」がまたエラーを出すようになったので「youtube-dl」に変更してみた!」や「よく使う駅名をリスト化して、簡単にYahoo!乗換案内検索ができるpythonスクリプトを作ってみた!」など多数のスクリプトを公開してます。 でもPythonista3は凄いアプリなんですが、データ解析等でよく使うpandas等が使えなかったりするんですよ。(T_T) 会社ではJupyter Notebookの開発環境でPythonのコーディングをしてるので、出来ればiPhoneでもJupyter Notebookが使えないかと思ってました。 そしたら、Juno Connectというアプリがあることを知ってダウンロードした訳です。 Juno ConnectとはiOS上で動作するJupyterクライアントアプリで、iPhoneにインストールしたJuno ConnectからリモートJupyterサーバーにアクセスしてデータ分析を行います。 Jupyterサーバーとして以下の4つが使えますが、これ以外にも独自のサーバーもOKなようです。 Juno社のリモートサーバー(Try Jupyter!)Azure NotebooksCOCALCbinder 私はMicrosoftのアカウントを持ってるのでAzure Notebooksにしてましたが、2020年9月に使えなくなるらしいので、COCALCに変更しました。 ちなみにリモートサーバーを使わずにローカルでJupyter Notebookが使えるJunoというアプリもあります。こちらの方が更に高いですが、お好きな方で。 Juno 1.2.8分類: 開発ツール,教育価格: ¥1,840 (Rational Matter) n次近似 前回、iPhoneのMatlabで行列を使ってn次近似する方法を紹介しました。 iPhoneのMatlabを使ってみた! 今回も同じように行列を使って近似式を求めてもいいんですが、折角Pythonなのでライブラリを使って近似してみます。 ・ExcelData.xlsx取得部 import numpy as np import pandas as pd df=pd.read_excel('ExcelData.xlsx',index_col=0) B=df.values Bnp=np.matrix(B) print(Bnp) ・n次近似指定部 print('n次近似(n>=1) n=?') N=int(input()) ・n次近似演算、グラフ化部 import numpy as np import matplotlib.pyplot as plt x=Bnp[:,0].T.tolist()[0] y=Bnp[:,1].T.tolist()[0] \#近似式の係数 res=np.polyfit(x,y,N) xMax=Bnp[:,0].max() RANGE=10 xMax=int(np.ceil(xMax/RANGE)*RANGE) \#近似式の計算 yy = np.poly1d(res)(x) \#グラフ化 plt.plot(x,yy) plt.plot(Bnp[:,0],Bnp[:,1],marker='*',linestyle='None') plt.xlim(0,xMax) \#グラフタイトルに近似式 title='' for i in reversed(range(N+1)): if i==N: ...

iPhoneのMatlabを使ってみた!

最近 会社でMatlabを使うことがたまにあって、文法とか覚えるのに色々弄れるiPhone版とかないかなぁと思って調べたらあるじゃないですか!しかも無料で! MATLAB Mobile 8.1分類: ビジネス,教育価格: 無料 (MathWorks) まぁ、無料なのは作成したファイルが250MBまでのようですが、練習するだけなら十分です。(^^) n次近似式算出方法 そこで練習として、複数点からn次近似するプログラムを作ってみようと思います。 近似方法として行列を使った方法をやってみます。 n次近似も同様にすればOKです。 Matlab mファイル 以下のプログラムを適当なファイル名(拡張子.m)で保存します。 clear;clc; %各行(x,y)の行列取得 B=readmatrix('ExcelData.xlsx'); B=B(:,2:end) plot(B(:,1),B(:,2),'*'); %N次近似 prompt='n次近似(n>=1) n=?'; N=input(prompt) a=[]; %係数a[] A=[]; dataNum=size(B,1); for i=1: dataNum A(i,1)=1; for j=1:N A(i,j+1)= B(i,1)^j; end y(i,1)=B(i,2); end AtA=A.'*A; Aty=A.'*y; ab=inv(AtA)*Aty; for i=1:N+1 a(i,1)=ab(i,1); end a(:,1) %x軸最大 xMax=max(B(:,1)); range=10; xMax=ceil(xMax/range)*range; xx=0:xMax; yy=0; for i=1:N+1 yy=yy+a(i,1)*xx.^(i-1); end plot(xx,yy); hold on plot(B(:,1),B(:,2),'*'); hold off また、元データをExcelData.xlsxというファイル名でカレントディレクトリに保存します。 mファイル以外のファイルの保存方法は後述します。 ここで使ったExcelData.xlsxは以下のようなファイルになってます。 ▼アプリ上部の実行ボタンをタップ ▼読み込んだExcelData.xlsxが表示されるので、グラフを見たければ右下のグラフアイコンか右上のグラフボタンをタップ ▼グラフが表示されるので、完了をタップして戻る ▼3次近似の場合、3を入力 ▼3次近似式の各係数が表示されるので、グラフアイコンかグラフボタンをタップ ▼3次近似のグラフが表示されます。 mファイル以外の保存方法 ▼ブラウザーでwww.mathworks.com/loginにアクセスしてMATLAB Driveにログインして、保存したいフォルダをタップ ▼矢印ボタンをタップしてファイルをタップ ▼ファイルを選択をタップ ▼ブラウズをタップしてアップロードしたいファイルを選択 ▼指定したフォルダにアップロードされました。 最後に Matlabというだけあって、行列(Matrix)の演算は簡単に出来ますね。グラフ化も簡単でした。 iPhoneだけで出来るというのがいいですね。 今後ももっと色々練習してみようと思います。(^^) 紹介したアプリ MATLAB ...