C/C++の宿題を片付けます 122代目at TECH
C/C++の宿題を片付けます 122代目 - 暇つぶし2ch124:デフォルトの名無しさん
09/01/17 03:17:08
>>116 以下はR=0.2Ωの場合。RESISTANCE_RがRなので、適当に変えてね。
#include<stdio.h>
#define INDUCTANCE_L 0.5 // インダクタンスL [H]
#define CAPACITANCE_C 0.5 // 容量C [F]
#define VOLTAGE_E 100 // 電圧E [V]
#define RESISTANCE_R 0.2 // 抵抗R [Ω]
#define TIME_STEP 0.001 // 時間刻み [s]
int main() {
double current_i; // 電流i [A]
double charge_c; // Cの電荷 [C]
double voltage_r; // Rの電圧 [V]
double voltage_l; // Lの電圧 [V]
double voltage_c; // Cの電圧 [V] (=v)
int i;
current_i = 0;
charge_c = 0;
for (i = 0; i <= 30000; i ++) {
voltage_c = charge_c / CAPACITANCE_C;
voltage_r = current_i * RESISTANCE_R;
voltage_l = VOLTAGE_E - voltage_r - voltage_c;
if (i % 100 == 0) {
printf("t=%3.3f[s], i=%3.2f[A], Q_C=%3.2f[C], V_R=%3.2f[V], V_L=%3.2f[V], V_C=%3.2f[V]\n",
i*TIME_STEP, current_i, charge_c, voltage_r, voltage_l, voltage_c);
}
charge_c += current_i * TIME_STEP;
current_i += voltage_l / INDUCTANCE_L * TIME_STEP;
}
return 0;
}


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch