円周率の算出
モンテカルロ法を使った π の算出
興味を持ってもらうため
JIS Full BASIC準拠の十進BASICで作ってみました。
100 ! 'モンテカルロ法によるπの算出 110 ! ' 120 SET WINDOW -1, 4, -1, 4 130 RANDOMIZE 140 INPUT PROMPT "データ数 ":N 150 LET COUNT = 0 160 SET POINT STYLE 3 170 FOR I=1 TO N STEP 1 180 LET X = RND 190 LET Y = RND 200 IF X^2+Y^2 <1 THEN 210 SET POINT COLOR 4 220 LET COUNT = COUNT+1 230 ELSE 240 SET POINT COLOR 2 250 END IF 260 PLOT POINTS : X*3, Y*3 270 NEXT I 280 LET PAI = COUNT*4/N 290 PRINT "πの近似値は ";PAI 300 END
極座標ベクトル表示と三角関数波形の学習用のデモプログラム
極座標と三角関数波形の学習用のデモプログラム
processingで作成しました
視覚的効果はかなりあったように感じています。
ご自由にお使いください。
/* * vector */ // float radian = 0.0; float kakudo = 0.0; float isou; float a, b, c; void setup() { size(1220, 400); background(255,255,255); //isou = atan(150.0/100.0); } void draw() { // 振幅設定 a = 100; b = -150; c = sqrt(a*a + b*b); kakudo=kakudo+0.5; radian=kakudo*3.14159/180; isou = atan(b/a); // 座標軸 stroke(0,0,0); strokeWeight( 1 ); fill(255, 255, 255); circle(200, 200, c*2); circle(200, 200, b*2); circle(200, 200, a*2); line(200, 0, 200, 400); // y軸 line(500, 0, 500, 400); // 時間軸 line(0, 200, 1220, 200); // x軸 // line(200, 200-a, 1220, 200-a); line(200, 200+a, 1220, 200+a); // line(200, 200-b, 1220, 200-b); line(200, 200+b, 1220, 200+b); // line(200, 200-c, 1220, 200-c); line(200, 200+c, 1220, 200+c); // vector stroke(255, 0, 0); strokeWeight( 3 ); line(200, 200,200+cos(radian)*a, 200-sin(radian)*a); stroke(0, 0, 255); strokeWeight( 3 ); line(200, 200,200-sin(radian)*b, 200-cos(radian)*b); stroke(0, 255, 0); strokeWeight( 3 ); line(200, 200,200+cos(radian+isou)*c, 200-sin(radian+isou)*c); delay(10); noStroke(); // red sin() fill(255, 0, 0); ellipse(500+kakudo, 200-sin(radian)*a, 3, 3); // blue cos() fill(0, 0, 255); ellipse(500+kakudo, 200-cos(radian)*b, 3, 3); // green sin() fill(0, 255, 0); ellipse(500+kakudo, 200-sin(radian+isou)*c, 3, 3); // if(kakudo == 720){ kakudo = 0.0; delay(5000); background(255, 255, 255); } }
0102磁束?
□磁束Φ
+m〔Wb〕の磁極から媒質に関係なく、m〔Wb〕の磁束が常に出ている