2012年1月31日火曜日

Contents

label:電子工作

トランジスタ2石アンプ
http://hamachan-pon.blogspot.com/2011/04/blog-post.html

LT Spiceの導入
http://hamachan-pon.blogspot.com/2011/04/ltspice.html

LEDバーサライタの製作(上から順に古い)
http://hamachan-pon.blogspot.com/2011/01/led.html
http://hamachan-pon.blogspot.com/2011/03/led_23.html
http://hamachan-pon.blogspot.com/2011/04/ledmarkii.html
http://hamachan-pon.blogspot.com/2011/04/ledmarkii_05.html

DCモータのPWM制御
http://hamachan-pon.blogspot.jp/2012/08/dcpwm.html

UbuntuでのAVR開発
http://hamachan-pon.blogspot.jp/2012/11/ubuntuavr.html

STM32F4 DISCOVERYことはじめ
http://hamachan-pon.blogspot.jp/2015/09/stm32f4-discovery.html

label:ControlSystem

モータのPID制御1(サーボ制御の基礎,P制御)
http://hamachan-pon.blogspot.jp/2013/12/pid1p.html

モータのPID制御2(偏差無し制御,I制御)
http://hamachan-pon.blogspot.jp/2015/04/pid1i.html

STM32F4 DISCOVERYでのPID制御
http://hamachan-pon.blogspot.jp/2015/09/stm32f4-discoverypid.html

倒立振子シミュレーション(MATLAB/Simulink)
http://hamachan-pon.blogspot.jp/2016/01/matlabsimulink.html

多入力多出力系とは
http://hamachan-pon.blogspot.jp/2016/05/blog-post.html

シンプルな外乱オブザーバ
https://hamachan-pon.blogspot.jp/2016/10/blog-post.html

4ストロークエンジンの物理モデル
https://hamachan-pon.blogspot.jp/2017/04/4.html

カルマンフィルタの基礎式を代数とベイズ定理から見る
https://hamachan-pon.blogspot.jp/2017/04/blog-post.html

label:課題

積分の近似式(台形公式/シンプソン公式)
http://hamachan-pon.blogspot.com/2011/05/blog-post.html

ガウスの消去法(上から古い)
http://hamachan-pon.blogspot.com/2011/06/1.html
http://hamachan-pon.blogspot.com/2011/06/2.html
http://hamachan-pon.blogspot.com/2011/06/3.html

lagrange補間
http://hamachan-pon.blogspot.jp/2012/11/lagrange.html

label:Programming

C言語によるWindows用(Win32)オセロ
http://hamachan-pon.blogspot.com/2011/06/windows.html

X-Windowによる数学関数のグラフ表示
http://hamachan-on.blogspot.com/2012/01/blog-post_17.html

Newton-Roaphson法による方程式の求解
http://hamachan-pon.blogspot.com/2012/02/newton-roaphson.html

Euler法による一階常微分方程式の解法(CR回路を例に)
http://hamachan-pon.blogspot.jp/2012/03/eulercr.html

C言語でニューラルネット(関数近似)
http://hamachan-pon.blogspot.jp/2015/08/c.html

C言語でニューラルネット(2次元平面での分離)
http://hamachan-pon.blogspot.jp/2015/08/c2.html

パーティクルフィルタによるグリッドマップマッチング
http://hamachan-pon.blogspot.jp/2016/06/blog-post.html

ニューラルネットで雑な手書き文字認識
https://hamachan-pon.blogspot.jp/2016/08/blog-post.html

label:LaTeX

UbuntuでLaTeX
http://hamachan-pon.blogspot.jp/2012/06/ubuntulatex.html

よく使うLaTeX文法
http://hamachan-pon.blogspot.jp/2012/06/latex.html


label:other

MacbookAir2012にUbuntu
http://hamachan-pon.blogspot.jp/2012/07/macbookair2012ubuntu.html
http://hamachan-pon.blogspot.jp/2012/08/usbmacbookair2012ubuntu.html

2012年1月17日火曜日

数学関数のグラフ表示

今回は数学関数をX-WindowSystemでグラフ化する方法を載せたいと思います。
グラフ化することによって視覚的にわかり易くなり、実数解が存在するか程度ならすぐに分かります。

ではひとまず定義。



これが表示用の関数です。

ウィンドウの大きさは480*480で、うち上下左右40pxは空白部とします。
また、数値解析における分割数は100分割で、400px内を100分割して直線で結ぶ感じです。
つまり4pxは直線だけど大きい目で見たら曲線に見えるよね、って感じかな。

線を引くためには始点と終点が必要になりますが、終点は現在の計算点、始点は前回の計算点とします。
0→1、1→2、2→3点という風になります。

以下プログラムリスト。
Linuxの人はindentコマンドで整形するなりなんなりしてくだされ。

ちなみにindentコマンドは
sudo apt-get install indent
より
indent FILENAME -OPTION
で使えます。
OPTIONは-krをつかうと幸せ。

こんな感じになります。



以下リスト。

睦月

新年明けましてもう17日となりましたが、あけましておめでとうございます。

どうにか生きながらえております。

先日、成人式がありました。僕の誕生日は今月20日なので成人してるわけでは無いのですが。
中学校時代の同級生と久々に会いましたが、案外わかるもんなんですね。
望んだ理系が多くてなんか嬉しかった感じです。N氏やT氏やR氏など。

一緒に何か作れたら良いなと思ってます。
なかまになりたそうにそちらを見ます。

半期に渡る「週1でA4を10数枚」のレポートを出される授業がなんとか終わったので久しぶりの更新に至った次第です。

ちなみにこれを書いている最中にIbus標準の変換機能が悪すぎて泣いたのでmozc入れました(笑)。

sudo apt-get install ibus-mozc
で一発です。
Ibusの設定でインプットメソッドの選択→mozc→追加で使用可能です。上に持って行ってください。

少し打っただけでもすごい優秀で涙が出てきます。
閑話休題。

先程のN氏、T氏、R氏は情報理工の専門なのでちょっと(というかかなり)知識が及ばないと感じたため、逃げて専門の理工を伸ばす方向に決めたいと思います。

そこで次回からの更新予定。(すべて物理系のシミュレーションです。ちなみに開発環境はUbuntuLinux。X-WindowSystemとC言語中心です。)

1.数学関数のグラフ表示
2.Newton-Roaphson法により方程式の数値解を求める。
3.Euler法による一階常微分方程式の解法とそのグラフ化。(CR回路を例に)
4.Euler法による二階常微分方程式の解法とそのグラフ化。(ばね・ダンパ系を例に)
5.ばねによる二階常微分方程式のリアルタイムシミュレーション。
6.振り子によるに会場微分方程式のリアルタイムシミュレーション。
//7.落下、衝突のリアルタイムシミュレーション。
//8.衛生軌道のリアルタイムシミュレーション。

を考えています。
1~6は龍大理工機械の授業である通称KOJと同じモノなので載せていいか微妙なところです(笑)。まるまるコピーではないにしろCopyRightとかないのかな。

7,8はオリジナルであり作成中なので若干更新が滞る可能性があります。


また、授業ではリアルタイムシミュレーションにおいてEuler法を用いましたが、誤差が大きいため値が発散していきます。そのため同時にRunge-Kutta法でも数値計算を行う予定です。

誤差が大きいと時間が経つにつれて振り子が運動量保存則を無視して一回転したり、床でのバウンドがどんどん高くなっていったりします(笑)。


こんな感じで新年の挨拶は終わらせていただきます。
ではまた。