トップページ⇒tech
43コメント12KB

フォートランと電気回路に詳しい方急募!

■ このスレッドは過去ログ倉庫に格納されています
0001higantes ◆VxtSPywA NGNG
マルチポストです。すいません。
シミュレーション板にも書いたのですが、急いでますのでこちらにも書かせていただきます。

とある大学の工学部四年生です。
もう卒業研究をしなくてはならないのにその前の課題が終わりません。
ある回路における電流の値を求めるプログラムなのですが、
自分ではどこが間違ってるのかさっぱりわかりません。

http://www.geocities.co.jp/SiliconValley-SanJose/4145/
上にフォートランのソースと回路図を置きましたので詳しい方が知識を貸していただけると小生興奮の至りであります。
0002デフォルトの名無しさんNGNG
時給5000円からお願いします。
0003higantes ◆VxtSPywA NGNG
>>2
金欠であります。
0004デフォルトの名無しさんNGNG
>>1
坊やだからさ

どっちも間違ってるよ
0005デフォルトの名無しさんNGNG
教授に聞け。
0006higantes ◆VxtSPywA NGNG
叱咤激励ありがとうございます。
フォートランとかはやっぱシミュレーション板で正しいのでしょうか。
0007名無しさんNGNG
留年しろよ。
0008higantes ◆VxtSPywA NGNG
>>7
大学院試験にうかってるので留年はしたくないであります。
0009デフォルトの名無しさんNGNG
卒論の内容かえろよ
0010higantes ◆VxtSPywA NGNG
>>9
卒論の段階まで行っていないのです。
その前の課題ごときで躓いているのです。
0011名無しさんNGNG
卒論まだ。。?
もう手遅れだと思われ。
0012デフォルトの名無しさんNGNG
だからなんで教授に聞かんのだ。授業料払ってないのか?
0013higantes ◆VxtSPywA NGNG
>>11
手遅れっぽいのはうすうす感じてますが・・・
やらないわけにはいかないのです。
0014higantes ◆VxtSPywA NGNG
>>12
教授が海外に行ってるんです。しかも長期。
授業料返せ!
0015名無しさんNGNG
もう首吊るしかないだろ。じゃあな。
0016デフォルトの名無しさんNGNG
教授が一人しかいないわけないだろうに。
それっぽい講義を担当してる他の教授をあたれ。
0017デフォルトの名無しさんNGNG
>>1
ヘタレな貴方のためになぜ私たちが時間と労を割かねばならないのですか?
このようなスレッドを立てて本当に誰か協力してくれると思っているのですか?

以上、現役留年生のたわごとでした。
0018higantes ◆VxtSPywA NGNG
>>15
勘弁してください。
>>16
とりあえずそうします。
0019higantes ◆VxtSPywA NGNG
>>17
ごめんなさい。
0020デフォルトの名無しさんNGNG
プログラムだけ掲載されても見る気になれないよ。
 どっちか言うとフォートランは他人が見て判り辛いからね。

ルンゲクッタの部分はいいから、
 回路をどうプログラムにしたかを書いてみなさい。
0021デフォルトの名無しさんNGNG
研究室の先輩が教えてくれないの?
0022higantes ◆VxtSPywA NGNG
>>20
はい。とりあえず書いてみます。

今後それぞれの素子についている数字を、その枝の数字とします。

R1,R2,R3のところに流れてる電流をX,Y,Zと置きます。
枝1,2,3、4,5,6,7,8,にかかる電圧をV1,V2,V3・・・V8とすると、
V1=V4+V6
V2=-V4+V5+V7
V3=-V5+V8
という式がでます。
続く
0023higantes ◆VxtSPywA NGNG
それぞれのVに式を代入します。
すると
V1=V4+V6
↓
L1(dX/dT)+R1*X=-R4*X+R4*Y-L6(dX/dT)-R6*X-L6(d It/dT)-R6*It

V2=-V4+V5+V7
↓
L2(dY/dT)+R2*Y=R4*X-R4*Y-R5*Y+R5*Z-L7(dY/dT)-R7*Y-L7(d It/dT)-R7*It

V3=-V4+V5+V7
↓
L3(dZ/dT)+R3*Z=R5*Y-R5*Z-L8(dZ/dT)-R8*Z-L8(d It/dT)-R8*It

という式がでます。括弧の中は微分です。
0024デフォルトの名無しさんNGNG
絵、書けよバカ
0025higantes ◆VxtSPywA NGNG
これを整理すると
(dX/dT)=(-(R1+R4+R6)*X+R4*Y+IT*W*COS(W*T+THETA)*(-L6)-R6*IT*SIN(W*T+THETA))/(L1+L6)
(dY/dT)=(-(R2+R4+R5+R7)*Y+R4*X+R5*Z+IT*W*COS(W*T+THETA)*(-L7)-R7*IT*SIN(W*T+THETA))/(L2+L7)
(dZ/dT)=(-(R3+R5+R8)*Z+R5*Y+IT*W*COS(W*T+THETA)*(-L8)-R8*IT*SIN(W*T+THETA))/(L3+L8)

という上の式がでます。
さっき言い忘れましたけどTというのが時間です。
電源の式が
IT*sin(W*T+THETA)で与えられているので、
(d It/dT)=IT*W*COS(W*T*THETA) になります。
Wは角速度です。THETAはT=0の時の位相です。
0026higantes ◆VxtSPywA NGNG
>>24
絵は上のリンクにあります。
0027higantes ◆VxtSPywA NGNG
回路図

http://www.geocities.co.jp/SiliconValley-SanJose/4145/circuit.jpg
0028higantes ◆VxtSPywA NGNG
正直こんなにひとりよがりな>>1は初めて見ました。
俺だけど。

>>25の続き
この式をルンゲクッタの連立常微分方程式解法を使ってプログラムを組んでみました。
一応これがメインの話なんですけども。
002920NGNG
・・・・その説明じゃ読む気になれないよ

 つまり
1)電流、電圧に注目して微分方程式をたてた
2)それをルンゲクッタで解いてみた

 どちらが正しいか切り分けるために
 ○転がってるルンゲクッタのライブラリに置き換えてみて答えが出るかみる
 ○ルンゲクッタの部分にLCだけのパルス波過渡応答を与えて答えが出るか見る

いっそ、どうせ遅れついでだから行列にして汎用的に解いてみたら?
0030higantes ◆VxtSPywA NGNG
>>29
・ルンゲクッタの部分はまるまる本に書いてあるのを写しただけなので問題なく動作するはずです。
・LCだけの回路と言うことは積分を使うと言うことですか?
・行列式は使わずに、ルンゲクッタを使って解け、という課題なのでそれはできなさそうです。

複素数使ってやればすぐにできる気がするんですけど・・・
003120NGNG
ああ、じゃLR1段だけで検証してみたら?

 それでルンゲクッタが正しく組めているなら、
 最初に立てた方程式が正しくない訳だ
003220NGNG
 と思ってソースを見たら、そういう切り分けが出来るようなソースじゃないね・・・・
0033higantes ◆VxtSPywA NGNG
>>32
そうなんですよね。
でもやめるわけには行かないので一段だけのソースにして試してみます。
003420NGNG
じゃ 全部の L と Rを同じ値にして 上の微分方程式を手計算で解いてみたら?
R4,R5が消えて、全部が同じ電流になれば 合ってると思うよ
0035higantes ◆VxtSPywA NGNG
>>34
やってみました。それ。
Lを1HにしてRを1Ωにしてやってみたんですが。
みごとにバラバラの値でびっくりしました。
003620NGNG
いや、だから、 数値じゃなくて シンボリックに >>25の式を解いてみて って事
  微分方程式の解き方が判らないないなら、
  転がってるmathmaticaで
  転がってなければ mathcadの評価版でもダウンロードしてね
0037higantes ◆VxtSPywA NGNG
>>36
研究室にマスマティカ転がってるのでやってみます。
今からいってきます。

マンツーマン指導ありがとうございました。
003820NGNG
いやマジで上の方程式くらい解けないのか?・・・・

とにかく それで方程式が正しいようなら
 ルンゲクッタで解いてる部分が正しくないんだから
  で、それもどっかから拾ったなら、その拾った時の状態に出来るだけ近いように戻してみなさいな

 全部正しい筈という事なら、単純に与えた条件に対してステップが荒すぎるんだろ
0039外野NGNG
回路図読める人って尊敬する。
訳わからんもん。

で、電流の初期値はどうやって決めるの?

   WRITE(6,*) '----SHOKICHI----'
   WRITE(6,*) 'I1,I2,I3'
   READ(5,*) X,Y,Z

適当に与えると収束していくって話?
0040デフォルトの名無しさんNGNG
ゴラァ
1よ! お前は問題が解決したらスレ放り出して、それで満足か?

自分さえ満足すればOKなのか?
0041higantes ◆VxtSPywA NGNG
いや、これが解決してなかったりします。
ずっと徹夜なもので書き込む気力が無かったですごめんなさい。
なんか方程式うんぬん以前のバグが存在するらしいのでそれ探してるんですが全然みつかりません。
0042デフォルトの名無しさんNGNG
そもそもなんでこんな問題FORTRANで書くんだ?
出来合いのシミュレータで解ける問題といても誰も誉めてくれんぞ
0043デフォルトの名無しさんNGNG
なんか知らないけど
あのプログラムをそのままBASICに直して電流値をプロットしたら
位相と周波数が同じで振幅だけ異なる3つのサインカーブになったんだけど。
もしこれでいいんだったらロジックはあってるんじゃない?
■ このスレッドは過去ログ倉庫に格納されています