fork download
  1. #include <stdio.h>
  2. #include <math.h>
  3.  
  4. int main() {
  5. // パラメータの定義
  6. double R = 3000.0; // 抵抗 (オーム)
  7. double L = 0.001; // インダクタンス (ヘンリー)
  8. double V_E = 5.0; // 電源電圧 (ボルト)
  9. double time, I, tau;
  10. int steps = 10; // 計算ステップ数を10に制限
  11. double t_max = 0.001; // 計算する最大時間 (秒)
  12. int i; // ループ変数
  13.  
  14. // 時定数 τ = L / R
  15. tau = L / R;
  16.  
  17. // 時間変化に伴う電流 I(t) を計算
  18. // ヘッダーをカンマ区切りで出力
  19. printf("Time(s),Current(A)\n");
  20.  
  21. for (i = 0; i <= steps; i++) {
  22. time = t_max * i / steps;
  23. I = (V_E / R) * (1 - exp(-time / tau));
  24. // 結果をカンマ区切りで出力
  25. printf("%f,%f\n", time, I);
  26. }
  27.  
  28. return 0;
  29. }
  30.  
Success #stdin #stdout 0.01s 5284KB
stdin
Standard input is empty
stdout
Time(s),Current(A)
0.000000,0.000000
0.000100,0.001667
0.000200,0.001667
0.000300,0.001667
0.000400,0.001667
0.000500,0.001667
0.000600,0.001667
0.000700,0.001667
0.000800,0.001667
0.000900,0.001667
0.001000,0.001667