MacでのScilab導入
環境
OS?: macOS High Sierra ver.10.13.3
こういうところって何書けばいいの?
手順
端的にいえば以下の手順でできる
- Scilabのホームページでダウンロードしてインストール
- Java for OS Xのページでダウンロードあんどインストール
単に、Scilabのホームページでインストールするだけじゃダメだった
そのまま開こうとしたら、Java SE 6をダウンロードしてくれとの注意書きが出てきたので注意書きの通りにしたら解決した
【数値解析】最終レポート1.オイラー法
数値解析のレポートをやります。これが終われば春休みになったも同然です。はい。
ただ、授業聞いてなかったので、まずはInputからです。はい。
問題はこれ
(2)上記の結果は、講義で説明した安定性条件からどのように理解できるか議論せよ。(数値実験できない場合は理論的に何が予想されるか議論せよ)
(3)もあったけど、問題が結構変わるので、今は割愛しました。
今回はNumpyを使ってやっていくことに。
そのためにまず、Numpyの知識を仕入れる。
(この過程もこのページに書いてると長くなりそうなので、違うページに書きました)
ってなわけで、次は、プログラムを組んで行きますよ〜
Pythonによるオイラー法の参考にしたのはこちら
特に、後者にはめっちゃお世話になりました...
また、厳密解がだったので、円を描写するべく以下のページも参考に。
道具は揃ったじゃコード組みますか!!!!
実際組み上がったコード
がこちら
import matplotlib.pyplot as plt import matplotlib.patches as patches #楕円を書くため import numpy as np J = np.array([[0.00,-1.00],[1.00,0.00]]) #微分方程式右辺 def dxdt(x): return J.dot(x) def EulerOrbit(x0,MAX_T,dt): x = x0.copy() #vector #ndarray t = 0.00 orbit = [] while t < MAX_T: orbit.append(list(np.round(x,2))) x += dxdt(x)*dt #ndayyay t += dt return orbit dt = 0.1 #刻み幅 T = 100.00 #試行上限 x0 = np.array([1.00,0.00]) # t=0でのx orbit = EulerOrbit(x0,T,dt) nporbit = np.array(orbit) #listが、ndarray型に p = nporbit[:, 0] q = nporbit[:, 1] plt.plot(p,q) # 厳密解のプロット #t = np.linspace(0, MAX_T, 1/DELTA_T) #等差数列の生成 #円を描くための準備 ax = plt.axes() # fc = face color, ec = edge color x = patches.Circle(xy=(0, 0), radius=1.0, fill=False, ec='r') ax.add_patch(x) #描写 plt.xlabel($p$,fontsize=14) plt.ylabel($q$,fontsize=14) plt.show()
このコード生むのにめちゃくちゃ時間かかった...
途中で
File "EulerMethod.py", line 17 x += dxdt(x)*dt #ndayyay ^ SyntaxError: invalid syntax
というErrorにハマって...、for文の中身を1行ずつやったら通ったり、通らなかったり...
「マジでなんでだろう...」と思ってたら、この前の行のorbit.append(list(np.round(x,2)))
の最後の)が抜けてるっていう、あるあるなしょうもないミスでした。はい。(キレそう)
よっしゃオイラー法終わり!と思ったら、陽的オイラー法が終わっただけでした!!!(キレ気味)
陰的は...わからん!調べます!!
雑談
ちなみに2こめの参考記事であるPDFを読んでる時に、
vecx = list(map(lambda v: v(t, *x), vectorfield))
という1行が出てきて「!?!?」となったPython弱者僕は、map関数なるものの存在を初めて知りました。
その時読んだ記事がこれ
- 【Pythonステップアップ!】高階関数mapの便利な使い方
- 【Pythonステップアップ!】高階関数filterの便利な使い方
- Python: 関数を引数とする関数の作り方(+関数の引数を省略したい)
高階関数...便利そう!!
雑談その2
今回の記事をかくに当たって、そもそも、はてなブログで数式描く術を知らなかったので、色々調べました(笑)
その時参考に下のがこれらの記事
これもあって時間かかりました(笑)
次のステージ()へ
台形則やりますか!!!(空元気)
【Chart.js】1位~100位での順位推移グラフを作る
今回の目的
- グラフのy軸を1位を上にして昇順で表示したい
- 最大値?を100位、最小値?を1位としてy軸を設定したい
今回は、特定のキーワードのGoogle検索に対する、バイト先のHPの検索順位をキーワードごとにグラフ化するためにChart.jsを使ったため、「グラフのy軸を1位を上にして昇順で表示したい」というのと、検索順位が100位圏外の場合は順位表示を「100位圏外」としてるため、「最大値?を100位、最小値?を1位としてy軸を設定したい」という要請の元やっていくことに。
参照ページ
今回参照したのは次のページ
実際の手順
上のページをほぼコピペしただけです笑
y軸についての設定はoptionの中のyAxisのticksで全て片付くようなので、今回のpointだけ絞って見てみると以下のよう。(ticks以外はほぼ省略)
var chart = new Chart(ctx, { type:'line', data:{ labels: {{ Days }}, datasets:[{ }], }, option: { scales: { yAxes: [{ ticks: { reverse: true, //y軸の反転(1位を上にして昇順で表示) min: 1, //最小値を1に max: 100, //最大値を100に callback: function(value){ return value+'位'; //labelに「〜位」をつける } }] } }, }
これで以下のようになった
ToDo
うーん、変動が少ないグラフだと、規格を固定するのはどうなのかなあ...と思った
でも規格一致してた方が、上位にあるとか下位にあるとかわかりやすしなあ...
一部Pick Upするような機能をつければいいのか...?
でもどうやってやるんだろう、バ先の人に聞いてみよう。
【自分語り】ゆっくり生きていく
ゆっくり生きて生きたい。そう思った。
(注)マジで、脳内で考えたことをまとめただけの内容で、ほんまもんの「自分語り」な上に長いです。ここから先を読む方はそれをご了承ください。
経緯
回想
思えば、最近、自分にしては「多忙な」生活を送って来た。去年の2月から、サークルでは会長、他のサークルでは副理事をやり、また人生初のバイトをこなしつつ、学問もやり、進学先の学科を決めるため将来に模索しつつ、人生で初めての人とお付き合いをしたり、また妹の受験管理をやり慣れないことも多かった。
この1年、とてもとても楽しかったは事実だ。いろんな経験も得た。大切な人たちにも会えた。
ただ、そのせいか、10月からは調子の底がきて生活スタイルは昼夜逆転を抜けきれず、学校にいけなくなり、「焦り」にもなった。
そして挙句の果てには大切な人も傷つけた。
「なんか彼女との距離が開いた気がする埋めなきゃ...とりあえず、思うままにやってみよう」とか思って、相手に自分の要望を強要したりね。ゆっくり、数ヶ月数年待ってあげればいいだけなのにね。(恋も人生も余裕が大事!)
自分の本質
そして、今日ふと、思い出した。
僕は元来、スローペースな人間なのだ。幼い頃から、「あんたゆっくりしすぎじゃない?」といつも言われて来た。
スローペースは僕の本質みたいなところがある。
大学に入り、周りの人が意識が高くかつスペックも高いので焦って、いろんなことをしようとしたけど、僕はそれについていけるほどのスペックもやる気の持続性も持ち合わせていなかった。(実際、スローペースかつ低スペックゆえに大学はいるのにプラス2年かかったりもしたし笑)
さらに、「マイペースさ」、「スローペースさ」の中で生きて生くことが人に迷惑をかけず自分のことは自分でやるための自立・自律に繋がるし、またそれが、短い人生の経験上、もっとも成果を残せて来ている。...と思う。
それでも責務はこなすべきだから、業務は早く初めてスロウペースにこなせばいいし、無理そうなら引き受けないか、仕事を割り振っちゃうのが得策。
そこから...
ナルミヤの生き方の指針3大原則
突然だが、スロウペースは「寛容さ」から出来上がるところはある。
そもそも、スロウペースに生きる自分への「寛容さ」が必要だしね。
そんなこんなで、「ナルミヤの3大原則」が今回出来上がってしまった。
ナルミヤの3大原則
- 優しさ
- 寛容さ
- スローペース
「優しさ」は元から自分の中にあった原則。「優しい人間」でいたいからね。
今後、この方針で行き詰まるまで、この3つの原則にしたがって行きたいと思いましたまる
行き詰まったり、失敗したらその時にまた考えればいいのや。ここでも焦らない寛容さが大切。
今後に向けての課題
ただ、意識高くもったり、人と会うことが好きだったりするのも、また、大切な自分の1要素。
だから、その意識の高さを、いかにスローペースに取り組んでいくのが今後の課題。
バランスって大切だしね!
締めくくり
最後に、少し余談。
こんなことを考えていた日に、プロフィール欄に「ゆっくり生きたい大学生」と書いてあるアカウントからフォローもらったのも何か運命的なものも感じた。スローペースに生きろってことなのかもな〜。もちろんそのアカウントは即フォロバした。
これから、ゆっくりまったりと生きていくぞ〜(^○^)
【自炊日記】 2018/01/24 ステーキ、ミネストローネ
今日は、実家鹿児島から送ってもらった和牛モモステーキ肉を調理。
スープには作り置きしておいたミネストローネを。ミネストローネは野菜がいっぱいとれていいね。野菜不足になりがちな一人暮らしにはとても嬉しい。
という訳で、いつも通り、まずは参考にしたWebページはこちら。
参考にしたWebページ
- ステーキの焼き方:
家庭用フライパンで!ステーキ肉のジューシーな焼き方 (3ページ目) - macaroni
- ステーキソースの作り方:
赤ワインを使ったステーキソース by スケッパー 【クックパッド】 簡単おいしいみんなのレシピが282万品
- ミネストローネの作り方:
簡単♡トマトスープ(ミネストローネ) by どんぴんたん 【クックパッド】 簡単おいしいみんなのレシピが282万品
さらにミネストローネの具材をきる際に、例によって例のごとく、「さいの目切りってなんだ...?🤔」ってなったので、以下の記事も参考にしました。
実際作って見て思ったこと
んで、実際に調理してできたのがこちら
なんか、写真の光の問題かステーキがすごく黒く写ってる...。本当は黒紫なんだよこれ。
思ったこととしては...
- やっぱり刻みにんにくがあるとすごく美味しいが、にんにくが焦げないように注意すること
- ステーキ肉ははじめ強火〜中火で表面をやき、それから中火〜弱火で中を焼く。このとき赤ワインをかけてもいい
- ミネストローネにはオリーブオイルを垂らしたり、粉チーズをかけるといいアクセントになる。
主食はもちろんご飯!!!!
『ごはんはすごいよないと困るよ、むしろご飯がおかずだよ〜♪』
最近のマイブームの「パセリをふる」をごはんにもやって見たところ、洋風で美味しかった。
ちなみに、お米には六穀米を混ぜて炊いてます。美味しい。
和牛モモステーキ肉は余計な脂身がなくとても美味しかったし、幸せ
なんか自炊日記が主な用途となりつつある気がする
では今宵はこんなところでおやすみなさい
今日のお酒
農民ロッソ...栃木県足利産の赤ワイン。軽い口当たりで飲みやすい。渋みは少しあるかもしれない。
農民ロッソBOWMORE 12YEARS...スコッチモルトウイスキー。超がつくほど有名ですね。スコッチウイスキーなのでスモキー。好き。
ボウモア製品解説 ボウモア サントリー
スコッチやモルトウイスキーについて
気になって調べてみたのだが、モルトウイスキーとは大麦を原料としたウイスキーのこと。
特に、スコッチは、大麦100%を原料としてることが条件らしい。大麦は風味がよく出るらしい。
他にもトウモロコシやライ麦、小麦等を主原料に作られたグレーン・ウイスキー、ブレンドしたブレンデッド・ウイスキーなど、原料によって色々ある。
また、ひとくくりにスコッチと言っても、スコットランドのどのあたりの蒸溜所七日によって、西方や使ってる水の違いが出るようだ。
まあ、僕の飲んだのはサントリーのやつだから、水は現地の使ってるのか微妙だけど。
参考にした記事