Ubuntu18.04にWindows10からリモートデスクトップ接続する
まずは下記リンクの通りXRDPをインストール、設定する。
ただし、
sudo apt-get -y install xserver-xorg-core xorgxrdp xrdp
sudo apt-get -y install xserver-xorg-input-all
とすること。
そうしたら、本体の方はログアウトして、リモートデスクトップ接続すればOK。
(追記)
$ sudo gsettings set org.gnome.Vino require-encryption false
が必要かも。
$ sudo apt install gnome-tweak-tool
も必要かも(Dockが非表示の時)
corgi-lab.com
(C#)入力言語を切り替える
IMEの制御ではなく(?)、異なる言語のキーボードに切り替える方法をメモ。
//日本語 CultureInfo culture = new CultureInfo("ja-JP"); InputLanguage.CurrentInputLanguage = InputLanguage.FromCulture(culture); //ロシア語 CultureInfo cultureRU = new CultureInfo("ru-RU"); InputLanguage.CurrentInputLanguage = InputLanguage.FromCulture(cultureRU);
CultureInfoのコンストラクタに渡す文字列の一覧は以下。
[MS-LCID]: Appendix A: Product Behavior
(追記)
香港の繁体字をインストールしていても、Win10の内部的には
"zh-HK"ではInputLanguageを変更できない。
"zh-TW"ならOKだった。
(Android)ボタンなどの背景色を変える
簡単なことだけど、苦しんだのでメモ。
Android4.4と8.0で動作確認。
private void changeButtonColor(int id ,int color){ Button button = findViewById(id); Drawable drawable = button.getBackground(); drawable.setColorFilter(color,PorterDuff.Mode.SRC_IN); button.setBackground(drawable); }
【Java】Struts2のチュートリアル
情報が錯綜しすぎていてよくわからんけども、
下記のチュートリアルはできた。
www.journaldev.com
今時Struts2なんてやりたくないんだけど。
【Python】スクレイピングしてみた
日経トップページから、トップニュース15件?を抜き出してみた。
http://www.nikkei.com/
(日本経済新聞様、マズければご指摘ください)
以下ソース。
import urllib.request from bs4 import BeautifulSoup import pprint url = "http://www.nikkei.com/" response = urllib.request.urlopen(url) data = response.read() soup = BeautifulSoup(data,"html.parser") article = [] #トップニュース取得 top = soup.find(class_ = "nx-top_news_first cmn-clearfix") top = top.find(class_="cmnc-large") article.append(top.string) #セカンドニュース?取得 seconds_all = soup.find(class_="nx-top_news_second cmn-clearfix") seconds = seconds_all.find_all(class_="cmnc-middle") #print(seconds) for i in range(len(seconds)): art = seconds[i].string article.append(art) #print(art) #forth news取得 fourth_all = soup.find_all(class_="nx-top_news_fourth cmn-clearfix") for i in range(len(fourth_all)): art = fourth_all[i].find(class_="cmnc-xsmall") article.append(art.string) #print(art.string) #print(article) #print(len(article)) #\u3000を置換、表示 result = [] for i in range(len(article)): s = str(article[i]) s = s.replace('\u3000',' ') print(s) result.append(s) #print(result) print(len(result))
実行結果は以下の通り。
(python) 位相アンラップしてみた
ちょっと便利すぎやしないかい?python。
10年くらい前にC++で書いたオレオレ信号処理ライブラリが完全に陳腐化したわ。
sin関数の位相にガウス関数を加えたもの。
これから
を抽出するのが目標。
IFFTして、元の関数の虚数部を復元(解析信号の取得)
解析信号の位相。±πにラップされている。
アンラップした位相。ほぼ傾きの直線だが、
少しもっこりしている。
傾きを引く。
ピークがx=5のガウス関数が得られている。
以下ソース。
import numpy as np from scipy.fftpack import fft from scipy.fftpack import ifft from scipy.fftpack import fftfreq from scipy.fftpack import fftshift import matplotlib.pyplot as plt import pandas as pd import math #データ数 N = 1000 #サンプリング周期(sec) dt = 0.01 #周波数 f = 1.0 #時間軸 t = np.linspace(1,N,N) * dt - dt #時系列データ #y = np.sin(2 * np.pi * f * t) #f(x)を自分で定義 #ガウス関数 fx = lambda x: (math.exp(-(x-5)**2/2)) / math.sqrt(2*math.pi) * 10 y = [] for i in range(len(t)): y.append(np.sin(2 * np.pi * f * t[i] + fx(t[i]))) #y.append(fx(t[i])) #周波数軸(MATLAB等で言うfftshiftがかかっている) freq = fftfreq(N,dt) #FFT yf = fft(y) #解析信号を得る yf[int(N/2):N] = 0.0 + 0.0j af = ifft(yf) #unwrap unwrap = np.unwrap(np.angle(af)) phase = [] for i in range(len(t)): phase.append(unwrap[i] - 2*np.pi * f * t[i]) #オフセットを引く plt.figure(1) plt.xlabel("time(sec)") plt.ylabel("value(a.u.)") plt.plot(t,y) plt.figure(2) plt.xlabel("freq(Hz)") plt.ylabel("amplitude(a.u.)") plt.plot(freq,np.abs(yf)) plt.figure(3) plt.xlabel("time(sec)") plt.ylabel("value(a.u.)") plt.plot(t,np.real(af)) plt.plot(t,np.imag(af)) plt.figure(4) plt.xlabel("time(sec)") plt.ylabel("phase(rad)") plt.plot(t,np.angle(af)) plt.figure(5) plt.xlabel("time(sec)") plt.ylabel("phase(rad)") plt.plot(t,unwrap) plt.figure(6) plt.xlabel("time(sec)") plt.ylabel("phase(rad)") plt.plot(t,phase) plt.show()
python(scipy?)にunwrap関数なんてあるのね。
今回はFFTして負の周波数成分をカットして・・・という方法で実装しているけど、
hilbert関数というのがあるので、そちらを使った方が早いかも知れない。
やってることは同じはずだけども。