新しく発言する  EXIT  インデックスへ

合成抵抗の計算−ブリッジ回路


  合成抵抗の計算−ブリッジ回路 山中和義 2008/08/10 11:46:01  (修正1回)
  別解(Δ-Y変換による) 山中和義 2008/08/10 11:49:37 
  合成抵抗の計算−ラダー回路 山中和義 2008/08/10 13:58:21 
  合成抵抗の計算-立方体状 山中和義 2008/08/13 10:06:41 
  │└A−B間、A−C間の場合 山中和義 2008/08/13 10:11:27 
  !合成抵抗の計算-簡易回路図シミュレーショ... 山中和義 2008/08/14 14:42:47 
  │└つづき 山中和義 2008/08/14 14:43:36 
  │ └現状、トポロジーの処理(閉回路、節点)が... 山中和義 2008/08/14 14:51:37 
  │  └節点方程式を使用されては 島村1243 2008/08/16 07:15:46  (修正2回)
  │   └これですね、シミュレータが計算しているの... 山中和義 2008/08/16 13:15:20  (修正1回)
  │    └つづき 山中和義 2008/08/16 13:16:16  (修正1回)
  │     └出口の電位を0[V]にするには 島村1243 2008/08/16 22:33:58 
  │      └電流源を加味する部分を変更してください。 山中和義 2008/08/17 06:46:24 
  │       └出来ました。 島村1243 2008/08/17 07:51:57  (修正1回)
  │        └試験問題チェック用に改造 島村1243 2008/08/17 17:17:27  (修正1回)
  !直流電気回路の計算-閉路電流法の行列解法 山中和義 2008/08/17 22:00:39  (修正1回)
  │└電源が複数の場合 島村1243 2008/08/19 09:43:13 
  │ └このように設定してください。 山中和義 2008/08/19 11:57:37 
  │  └正しい結果が出ました 島村1243 2008/08/19 14:16:20  (修正2回)
  │   └行列計算の説明 山中和義 2008/08/19 17:54:10  (修正1回)
  │    ├感謝します 島村1243 2008/08/19 18:12:30 
  │    └任意の抵抗辺に起電力も含む 島村1243 2008/08/20 10:54:20 
  電圧源を含む節点電位法 山中和義 2008/08/22 09:24:52 
   └つづき 山中和義 2008/08/22 09:25:40 
Re: 電圧源を含む節点電位法  返事を書く  ノートメニュー
山中和義 <drdlxujciw> 2008/08/22 09:25:40
つづき


LET NN=(xmax*ymax-1)+Ns

!●キルヒホッフの電流則より、節点方程式を組み立てる
DIM A(0 TO NN,0 TO NN),x(0 TO NN),b(0 TO NN) !連立方程式 Ax=b
MAT A=ZER
MAT b=ZER

FOR i=1 TO N+Ns !回路を記録する
READ el$,ev
READ nd1,nd2
READ dr$,ofs

CALL DisplayElement(el$,ev,nd1,nd2,dr$,ofs) !回路を表示する


!連立方程式を組み立てる
! ┌  │  ┐┌ ┐ ┌ ┐
! │G │±1││V │=│I │
!───┼─────────
! │±1│-Zp││Ip│ │Ep│
! └  │  ┘└ ┘ └ ┘

SELECT CASE UCASE$(el$(1:1)) !素子に応じて
CASE "V" !電圧源なら
LET p=VAL(el$(2:LEN(el$)))+(xmax*ymax-1) !番号を得る
LET A(nd1,p)=A(nd1,p)-1 !電流Ipが節点iから節点jへ流れたとして、(Vi-Vj)-Ip*Zp=Ep
LET A(p,nd1)=A(p,nd1)-1
LET A(nd2,p)=A(nd2,p)+1
LET A(p,nd2)=A(p,nd2)+1
LET A(p,p)=A(p,p)+0 !内部抵抗Zpは0とする
LET b(p)=b(p)+ev !起電力

CASE "I" !電流源なら
LET b(nd1)=b(nd1)-ev
LET b(nd2)=b(nd2)+ev

CASE ELSE !素子なら
LET Gij=1/ev
!対角成分 ※節点に接続された素子(アドミタンス)の和
LET A(nd1,nd1)=A(nd1,nd1)+Gij
LET A(nd2,nd2)=A(nd2,nd2)+Gij
!その他の成分 ※節点に接続された素子(アドミタンス)に-1をかけたものの和
LET A(nd1,nd2)=A(nd1,nd2)-Gij
LET A(nd2,nd1)=A(nd2,nd1)-Gij

END SELECT
NEXT i

DIM d(0 TO xmax*ymax-1) !節点の有無フラグ
MAT d=ZER
FOR i=0 TO xmax*ymax-1 !結線されていない節点 1*Vi=0
LET d(i)=A(i,i)
IF A(i,i)=0 THEN LET A(i,i)=1
NEXT i
LET A(GND,GND)=0 !電位を0とする

MAT PRINT A;
MAT PRINT b;


!STOP !表示が正しいならこの行を「注釈」として、以降のプログラムを実行させる



DIM Ai(0 TO NN,0 TO NN) !連立方程式を解く
MAT Ai=INV(A)
MAT x=Ai*b


FOR i=0 TO xmax*ymax-1 !各節点の電位を表示する
IF d(i)<>0 THEN PRINT "節点";STR$(i);":";x(i);"[V]"
NEXT i
PRINT

RESTORE 100
FOR i=1 TO N !各素子に流れる電流を表示する
READ el$,ev
READ nd1,nd2
READ dr$,ofs

IF UCASE$(el$(1:1))="I" THEN !電流源なら
PRINT el$;":";ev;"[A]",x(nd2)-x(nd1);"[V]"
ELSE
PRINT el$;":";(x(nd1)-x(nd2))/ev;"[A]",x(nd1)-x(nd2);"[V]"
END IF
NEXT i
FOR i=1 TO Ns !電圧源に流れる電流を表示する
READ el$,ev
READ nd1,nd2
READ dr$,ofs

PRINT el$;":";x((xmax*ymax-1)+i);"[A]",b((xmax*ymax-1)+i);"[V]"
NEXT i


END
    └入力が簡単で使い易い 島村1243 2008/08/23 15:10:41 

 インデックスへ  EXIT
新規発言を反映させるにはブラウザの更新ボタンを押してください。