スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Rで連立常微分方程式

2次元の波動方程式や熱伝導方程式をRで解いてみたのですが、あまりにも計算時間が長いので、記事にするのはやめました。Rがインタプリタ言語であることを実感してしまいました。

今回扱うのは常微分方程式です。これまで線形微分方程式は何度も扱ってきましたが、ここでは連立常微分方程式を扱います。例によってみその計算物理学をRに移植したスクリプトを紹介します。

【続きを読む】

スポンサーサイト

Rで偏微分方程式2

KdV方程式

今回扱う偏微分方程式はKdV方程式(Korteweg--de Vries equation)です。Rスクリプトの元ネタとしてみその計算物理学を参考にしました。

KdV方程式は、浅い所における水の波がどのように発生するかを記述する方程式です。その解がソリトン解というのものです。下の動画は2つのソリトン解を表しています。

【続きを読む】

R で偏微分方程式

両端を固定した弦の振動を考えてみましょう。

初期状態では弦が正弦波の形になっていて、静止していると考えます。両端は固定されているので常に変位がゼロであると設定します。すなわち、解くべき波動方程式は以下のようになります。

波動方程式

今回はこの方程式をRを使って解いてみることにします。

【続きを読む】

Rの使い方の疑問点に対して

「保存しておいたode.Rを呼び出しするのはどうやったらいいのでしょうか?」というコメントがありましたのでお答えします。

解決策はode.Rの保存場所です。私はC:Program Files\R\MyWorksにスクリプトのRファイル(今回はode.R)を保存しています。このように自分で好きなフォルダに保存すればいいのですが、後からこのファイルを読み込む場合には作業ディレクトリを変更することが必要になります。

[ファイル]⇒[ディレクトリの変更...]で作業ディレクトリを変更します。下の画像のように簡単に設定できます。

作業ディレクトリの変更

これで準備完了です。できたら次に前回のコードを実行してみてください。ちゃんとグラフが出力されると思います。

日本でも警察官が強盗で逮捕されてしまいました。アメリカでは警官の暴力が問題になっています。これもまた、YouTubeの新しい利用方法として話題になっていますね。問題の動画は下のものです。これは人の道にもとるとおもいますが……

Rでルンゲ=クッタ法とオイラー法

高校物理を題材にして、力学シミュレーションをやってみようということでした。力学の基本は運動方程式ですから、必然的に微分方程式を解く必要に迫られます。

やろうと思えば3次元の運動を扱うこともできます。でも、本質を理解しようとするときには無理をせずに2次元の運動を扱うほうがいいでしょう。2次元の運動ではx,yの二つの成分にわけて運動方程式を考えることになります。

運動方程式

今回はRを使って簡単な常微分方程式を解く方法について書くことにしましょう。

【続きを読む】

Rでもちょっと信号処理ができる

実験データを採取するとき、データの個数はいくつくらいになるでしょうか。サンプリング周波数が数千MHzのときに数時間も測定を続けると、果てしない数の数値データが得られます。.txt形式で保存しても、Excelなどでは読み込むことすら出来ません。

Rではscan関数を用いてデータを読み込むことができます。以前のR2.3.1ではscan関数で長いデータを読み込もうとすると必ず失敗しましたが、最新版のR2.4.0ではこの問題が解決されて格段に使いやすくなりました。

さて、長い信号を適当な時間間隔で区切りたい場合はどうすればいいでしょうか。全部のデータを読み込んでしまったあとに、どのような処理をすれば区切ることができるでしょう?

【続きを読む】

Rを使ってみよう2

Rを使っていろいろなグラフィックを自作することができます。下の画像は、基本的な離散時間信号を示しています。ここで表している4つの信号は以下のものです。

基本的な離散時間信号
  1. 単位インパルス
  2. 単位ステップ
  3. ランプ信号
  4. 実数値の指数関数

こんな風にグラフをつくることができるのがRの最大の強みですね。それではハリきって勉強していきましょうか。

【続きを読む】

Rを使ってみよう1

あるていどプログラミングを習ったことがある人なら、ちょっと勉強すればRで統計解析をして、さまざまな分析・判断・意思決定ができるようになります。

しかし、全然勉強していない人にとっては、やっぱりとっつきにくいものだといえます。一応言っておくと、統計処理に特化しているためか、Rはデフォルトで数値を倍精度として扱います(as.integer関数など整数としても表現できる)。

今回の記事は、Rを使って、初歩的なプログラムを組むために必要最小限の知識を身につけることを目的にしましょう。

【続きを読む】

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。