- 684 名前:132人目の素数さん mailto:sage [2024/08/04(日) 09:19:05.64 ID:wQ387Xvj.net]
- デカルトの葉線の重心を計算
https://i.imgur.com/51eMWPw.png Wolframのソルバーで x^3+y^3-3*x*y=0の実数解を出して ループ形成する範囲での差を重みとして原点周りのモーメントを積分すれば 重心の座標が出せるはず、 というアルゴリズムでコーディング x2dy[x_] :=( y0=y /. Solve[x^3+y^3==3*x*y, y,Reals]; re=Simplify@Differences@Select[y0,0<= # <=2^(2/3) &]; If[x==0 || re=={},0,re[[1]]] ) NIntegrate[x*x2dy[x],{x,0,2^(2/3)}]/NIntegrate[x2dy[x],{x,0,2^(2/3)}] エラーが返ってきてバグの原因がわからんので 同じアルゴリズムでRで書くことにした。 Rにはソルバーはないが二次項がないのでカルダーノの式を使う。 計算結果 > S=integrate(x2dy,0,x1,rel.tol = 1e-12)$value > G=integrate(\(x) x*x2dy(x)/S,0,x1,rel.tol = 1e-12)$value > c(G,G) [1] 0.8061331 0.8061331 Rでの算出なので小数表示になる。 東大卒やエリート高校生による検証を希望します。
|

|