Healing Kosaba’s Diary

電子・情報・マイコン・通信の備忘録

円周率の算出

モンテカルロ法を使った π の算出

興味を持ってもらうため
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で作成しました
視覚的効果はかなりあったように感じています。
ご自由にお使いください。
f:id:healingkosaba:20200709225336p:plain

f:id:healingkosaba:20200709234406p:plain
振幅を変化させてシミュレートできます
/*
 * 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);
  }
}

0103磁束密度?

□磁束密度B

単位面積当たりの磁束の通過割合

f:id:healingkosaba:20200527150038p:plain

□空間(球面)で考えると・・・球面上の磁束密度

f:id:healingkosaba:20200527150107p:plain

□磁界の強さH

ある地点での磁界の強さを表す場合、磁束密度で表現することができる。
 しかし、媒質によってその値が変わってしまうので、透磁率というパラメータ
を使い、それをもって磁界の強さHを表現している。

透磁率μ ・・・磁束の通りやすさ

  \boxed{ B=\mu H 〔T〕 }  
 真空中(真空中の透磁率 \mu _o )

      B=\mu _o H 〔T〕  


 H=\frac{B}{\mu}  

  \boxed{ H=\frac{1}{4\pi\mu}×\frac{m}{r^2} 〔A/m〕 }