領域モーメント
バージョン11では,領域の多項式モーメントがサポートされており,領域上で特性を比較,分類,計算するための強力で柔軟なツールを提供する.
記号的に領域のモーメントを計算する.
In[1]:=
RegionMoment[Disk[], {0, 0}]
Out[1]=
In[2]:=
RegionMoment[CapsuleShape[], {2, 0, 0}]
Out[2]=
In[3]:=
RegionMoment[Cone[{{0, 0, 0}, {0, 0, 1}}, r], {2, 0, 0}]
Out[3]=
すべてのゼロ次と一次のモーメントが1であることが分かっていて,未知のパラメータを持つ領域が提供されたとする.各パラメータの数値を求める.
領域およびそのパラメータに対する仮定を定義する.
In[4]:=
$Assumptions = r > 0 && x > 0 && y > 0 && z > 0;
In[5]:=
cyl = Cylinder[{{0, 0, 0}, {x, y, z}}, r];
ゼロ次と一次のモーメントを計算する.
In[6]:=
cfs = {{0, 0, 0}, {1, 0, 0}, {0, 1, 0}, {0, 0, 1}};
In[7]:=
{m0, m100, m010, m001} = Table[RegionMoment[cyl, c], {c, cfs}]
Out[7]=
すべてのゼロ次と一次のモーメントが1であるとして,パラメータについて解く.
In[8]:=
sol = Solve[{m0 == 1, m100 == 1, m010 == 1, m001 == 1, $Assumptions}]
Out[8]=
領域を得る.
In[9]:=
cyl /. sol
Out[9]=
その半径の近似値を求める.
In[10]:=
N[cyl /. sol]
Out[10]=