今回はデータを眺めて愕然といたしました。「日本も世界も変わってしまった」のだと。今回のデータセットは1960年代の世界50か国の貯蓄率のデータです。貯蓄率を人口分布や可処分所得から説明する、という仮説を検証するためのものなのです。しかしこの年寄りが驚いたのはその人口の割合です。若いです、日本も世界も。
ぐだぐだ低レベルプログラミング(51) RISC-V、浮動小数積和演算、4種あるノダ
今回は前回と以下同文でラクチンなどと呟いていたら、前回コードにしょうもないバグ発見。天網恢恢疎にして漏らさず、違うか。お詫びして前回分をさきほど修正させていただきました。今回は前回一種しかやらなかった積和演算命令、実は全部で4種もあったという話であります。
Pico三昧(10) Pico C/C++SDKでinterpその4、クランプモード
ラズパイPicoのinterpユニットを使ってみる4回目は、Clampモードです。前回Blendモードを使ってみましたが、これは各コアに2個づつあるinterpのうち「0」のみの機能でした。じゃ「1」の方は何かないの?というとClampモードを持っているのです。上下の境界を超える値を「クランプ」してくれる機能です。
ソフトな忘却力(18) 偶数個のときのmedian、浮動小数のgtest
前回はcsv読み込み用のライブラリの使い方をgtestで確認しました。今回は読み込んだデータの処理です。ふと偶数個のときのmedianってどう計算するんだっけという疑問をもったのです。medianの計算をgtestしようとして今度は、gtestで浮動小数の計算のテストってどうするんだっけ、と。疑問は尽きず。
忘却の微分方程式(35) 行列と線形代数への入り口、MathematicaとMaxima
今回は線形代数、といっても入り口だけです。行列の記述の方法と演算子の書き方くらいまで。1回やそこらで線形代数が終わる筈はないです。これまた基本のキなのでMathematicaとMaximaに線形代数に関する同様な機能が無い筈ないのです。しかし両者のお家流、似ているようで違ってました。
やっつけな日常(2) Scilab+Xcosで、伝達関数からシミュレーション
別記事にてLTspiceで制御理論の回あり、まだ途中ですがLTspiceでも制御理論の勉強できるのは分かりましたです。でも制御理論「向き」のツールあるんじゃないかと。。。今回は、これまた別件の信号処理でお世話になっているScilabとその上のブロックダイアグラム描いてシミュレーションできるXcosで同じことをやってみます。
ブロックを積みながら(56) Node-RED、catchしてlinkしてみた
前回はNode-REDから「ネットにつながっているの?」とPingで問いかけました。今回はNode-RED内のあるタブで発生したエラーをキャッチして、別なタブに「飛ばして」しまう、という技?を勉強してみます。これ自体は意味ないけど、別タブのバグが見つかりエラーをFIXっと。副作用ですな。
MicroPython的午睡(61) M5ATOMLite、ランニングテスト用改良?改悪?
前回WatchDogタイマを使ってみたのは、M5ATOMLite用の「環境測定&MQTT報告」スクリプトを長時間走らせているとハングする現象の対策のためでした。しかしWatchDogで復旧を試みるまえに原因に当たりをつけておきたいです。そこで「ダイイングメッセージ」が残るようにスクリプトを改変。
データのお砂場(16) R言語、LakeHuron、ヒューロン湖の水位とな?
前回に続き、今回も時系列データです。北米大陸の巨大な湖、ヒューロン湖の水位のデータ。前回4半期毎の季節変動をトレンドと分離できたので、今回もその手か、と思ったのですが違いました。1年1点のデータであるので季節変動などはありません。長い目でみた長期のトレンドを探れということみたい。
モダンOSのお砂場(36) Mbed OS6、InterruptInを使う。STM32
前回はスレッドを使って2つの仕事を並行処理でした。今回は外部端子割り込みを使ってみます。Mbed OS6での割り込み処理の流儀は、FreeRTOSの割り込みの流儀とはちょっと違う感じがいたします。OSとして割り込みやIOなどを「仕切る」Mbed OS6と、他のフレームワークに乗っかってRTOS機能を提供するFreeRTOSと(個人の感想です。)
ぐだぐだ低レベルプログラミング(50) RISC-V、浮動小数積和演算、速さだけでないノダ
前回、浮動小数点の加減算をやりました。その前に例外を「味わう」ために浮動小数点の除算をやっています。そこで今回は必然の乗算です。ただ掛け算が出来たと喜んでも芸がありませぬ。RISC-Vには、普通の掛け算命令だけでなく、積和演算命令もあります。信号処理(積分)などするときはこちらの方が「普通」。今回はこの2つを比べてみる、と。
ソフトな忘却力(17) VSCodeでgtest、テンプレートライブラリ使用csvパーサ
今回は実用的なテンプレート・ライブラリ libfccp を呼び出しているコードにGoogleTest(gtest)を適用してみたいと思います。libfccp はC++用のCSVファイル読み取り用のパーサです。CSVはテキストなので自分でも読み込み簡単な気がしますが、既にライブラリがあるのなら利用させていただいた方が確実でお楽。
Pico三昧(9) Pico C/C++SDKでinterp その3、シンプルな線形補間
ラズパイPicoの特長の一つであるinterpを扱って三回目にして、ようやく回路名称である interpolator (補間器)の主目的である補間を試みてみます。今回は整数型のシンプルな線形補間です。Blend Modeというモードを設定するだけで、後はレジスタに値を書き込むだけで補間を行ってくれます。便利っちゃ便利ですが、Blend Modeって何者?という疑問が残ります。
忘却の微分方程式(34) 複素数の取扱い、MathematicaとMaxima
微分方程式にじっくり取り組む前にひとまず一通り学ぶべく、さっさと先に進めることにいたしました。今回は複素数の取扱いについてです。基本のキなのでMathematicaでもMaximaでも同様な機能は備えていました。しかし両者の「御家流」は大分違うようです。さっさと「一通り」やった後、再び微分方程式に戻ってくる予定。