UnityでVisual C#用の常微分方程式ソルバーOpen Solving Library for ODEs(OSLO)を使う(2)ブルースカイ・カタストロフィを生じるGavrilov Shilnikov modelを計算してDormand&PrinceのRK547Mで計算して玉を動かして軌跡を付ける。ぐるぐる回っていたと思ったら突然広がって戻る。
今回は千葉逸人さんが中二病用語と言っていたこれをやってみる。
詳しくはスカラーペディアに。
Blue-sky catastrophe
この式を計算してます。
早速動画から。
ぐるぐる回っていたと思ったら突然広がって戻るのが面白い。スカラーペディアに出ていた図ともよく合ってる。
ソースコードはこちら。
using UnityEngine;
using System;
using System.Collections.Generic;
using Microsoft.Research.Oslo;
using System.Linq;
public class MathNET05 : MonoBehaviour
{
List<float> x0 = new List<float>();
List<float> x1 = new List<float>();
List<float> x2 = new List<float>();
int count;
int n;
void Start()
{
double t0 = 0.0;
double tmax = 1000.0;
n = 20000;
double dt = tmax / n;
var sol = Ode.RK547M(
0,
new Vector(0.012277918, -2.356078578, 0.018241293),
(t, x) => Bluesky(t, x),
new Options
{
AbsoluteTolerance = 1e-12,
RelativeTolerance = 1e-12
});
var points = sol.SolveFromToStep(t0, tmax, dt).ToArray();
n = points.Length;
count = 0;
foreach (var s in points)
{
x0.Add(Convert.ToSingle(s.X[0]));
x1.Add(Convert.ToSingle(s.X[1]));
x2.Add(Convert.ToSingle(s.X[2]));
}
}
void Update()
{
if (count < n)
{
transform.position = new Vector3(x2[count], x1[count], x0[count]);
}
count += 5;
}
Vector Bluesky(double t, Vector x)
{
double[] xdot = new double[3];
double myu = 0.456;
double eps = 0.0357;
xdot[0] = x[0] * (2.0 + myu - 10.0 * (x[0] * x[0] + x[1] * x[1]))
+ x[2] * x[2] + x[1] * x[1] + 2.0 * x[1];
xdot[1] = -x[2] * x[2] * x[2] - (1 + x[1]) * (x[2] * x[2] + x[1] * x[1] + 2.0 * x[1])
- 4.0 * x[0] + myu * x[1];
xdot[2] = (1 + x[1]) * (x[2] * x[2]) + x[0] * x[0] - eps;
return new Vector(xdot);
}
}
|
« 高周波・RFニュース 2025年3月12日 iFixitが任天堂Alarmoを分解、なんとSocionextの24GHzミリ波センサ’積んでる!Next G Allianceが6Gに向けたデジタルツインとFWAのホワイトペーパー発行、Qorvoが統合型UWB SoC発表、SemtechがLora、u-bloxとTelitがGNSSモジュール発表 | トップページ | 高周波・RFニュース 2025年3月13日 NordicとQorvoがAliroとMatterのリファレンスアプリケーション提供、TSMCとMediaTekがパワーアンプと電源管理ユニット統合、3GPPのTSG RANの議長がSamsungの人に、Silicon Labsが超小型Bluetooth Soc, QuectelがWi-Fi/BTモジュール発表 »
「パソコン・インターネット」カテゴリの記事
- Julia言語でタッパーの自己言及式(不等式を計算して図示するとまた不等式になる)を描いてみる。543桁の数を含む計算が必要だが、デフォルトで任意精度演算が可能なので容易にできた。(2025.03.11)
- UnityでVisual C#用の常微分方程式ソルバーOpen Solving Library for ODEs(OSLO)を使う(3)三体問題の周期解としてまずは有名な8の字を描くものをやってみる。(2025.03.14)
- UnityでVisual C#用の常微分方程式ソルバーOpen Solving Library for ODEs(OSLO)を使う(2)ブルースカイ・カタストロフィを生じるGavrilov Shilnikov modelを計算してDormand&PrinceのRK547Mで計算して玉を動かして軌跡を付ける。ぐるぐる回っていたと思ったら突然広がって戻る。(2025.03.12)
「学問・資格」カテゴリの記事
- 高周波・RFニュース 2025年3月14日 Microwave Journalでテラヘルツデバイス製造解説、IgnionのRF、アンテナ向けAIツールOxionが2.0に、TIが1.38mm²の超小型MCU発表、IntelのCEOはLip-Bu Tanに。(2025.03.14)
- 高周波・RFニュース 2025年3月13日 NordicとQorvoがAliroとMatterのリファレンスアプリケーション提供、TSMCとMediaTekがパワーアンプと電源管理ユニット統合、3GPPのTSG RANの議長がSamsungの人に、Silicon Labsが超小型Bluetooth Soc, QuectelがWi-Fi/BTモジュール発表(2025.03.13)
- 高周波・RFニュース 2025年3月12日 iFixitが任天堂Alarmoを分解、なんとSocionextの24GHzミリ波センサ’積んでる!Next G Allianceが6Gに向けたデジタルツインとFWAのホワイトペーパー発行、Qorvoが統合型UWB SoC発表、SemtechがLora、u-bloxとTelitがGNSSモジュール発表(2025.03.12)
「日記・コラム・つぶやき」カテゴリの記事
- 高周波・RFニュース 2025年3月14日 Microwave Journalでテラヘルツデバイス製造解説、IgnionのRF、アンテナ向けAIツールOxionが2.0に、TIが1.38mm²の超小型MCU発表、IntelのCEOはLip-Bu Tanに。(2025.03.14)
- 高周波・RFニュース 2025年3月13日 NordicとQorvoがAliroとMatterのリファレンスアプリケーション提供、TSMCとMediaTekがパワーアンプと電源管理ユニット統合、3GPPのTSG RANの議長がSamsungの人に、Silicon Labsが超小型Bluetooth Soc, QuectelがWi-Fi/BTモジュール発表(2025.03.13)
- 高周波・RFニュース 2025年3月12日 iFixitが任天堂Alarmoを分解、なんとSocionextの24GHzミリ波センサ’積んでる!Next G Allianceが6Gに向けたデジタルツインとFWAのホワイトペーパー発行、Qorvoが統合型UWB SoC発表、SemtechがLora、u-bloxとTelitがGNSSモジュール発表(2025.03.12)
« 高周波・RFニュース 2025年3月12日 iFixitが任天堂Alarmoを分解、なんとSocionextの24GHzミリ波センサ’積んでる!Next G Allianceが6Gに向けたデジタルツインとFWAのホワイトペーパー発行、Qorvoが統合型UWB SoC発表、SemtechがLora、u-bloxとTelitがGNSSモジュール発表 | トップページ | 高周波・RFニュース 2025年3月13日 NordicとQorvoがAliroとMatterのリファレンスアプリケーション提供、TSMCとMediaTekがパワーアンプと電源管理ユニット統合、3GPPのTSG RANの議長がSamsungの人に、Silicon Labsが超小型Bluetooth Soc, QuectelがWi-Fi/BTモジュール発表 »
コメント