![見出し画像](https://assets.st-note.com/production/uploads/images/66600877/rectangle_large_type_2_d2961820fbb4a112771a3d6fa08b9704.png?width=1200)
max/msp gen~ 堀之内の積分公式 二重積分を計算する。
max/msp 堀之内の積分公式をgen~で書いて二重定積分を計算します。
∫∫(x+y*y)dxdyを計算しています。
範囲[in1 in2] [1 1+0.5x]
FNFとFNP1 FNP2を書き換えることで任意の定積分を計算できます。
gen~のcodeboxの中身です。
FNF(x,y){
fx=x+y*y; //ここに書く
return fx;
}
FNP1(x){
fx=1;
return fx;
}
FNP2(x){
fx=1+0.5*x;
return fx;
}
Data cs(11),ee(11),h(11);
m=0;n=0;i=0;j=0;k=0;
s1=0;sx=0;sy=0;s=0;t=0;
x=0;y=0;fp1=0;fp2=0;yi=0;
n=10;
m=n+1;
a=in1;b=in2;
for(i=0;i<=n;i+=1){
t=(2*i+1)*pi/(2*(n+1));
poke(ee,t,i);
poke(cs,cos(t),i);
}
for(i=0;i<=n;i+=1){
s1=0;
t=peek(ee,i);
for(j=2;j<=n;j+=2){
s1 += ( cos(j*t))/(j*j-1);
}
poke(h,(1-2*s1)/m,i);
}
sx =0;
for(i=0;i<=n;i+=1){
x = ((b-a)*peek(cs,i)+(b+a))/2;
fp1=FNP1(x);
fp2=FNP2(x);
sy=0;
for(k=0;k<=n;k+=1){
y=( (fp2-fp1)*peek(cs,k)+(fp2+fp1))/2;
sy += FNF(x,y)*peek(h,k);
}
yi = (fp2 - fp1) *sy;
sx += yi *peek(h,i);
}
s = (b-a)*sx;
out1=s;
いいなと思ったら応援しよう!
![fendoap](https://assets.st-note.com/production/uploads/images/168565235/profile_3098b5927308a0f9396df6408d985ac2.jpg?width=600&crop=1:1,smart)