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. // CSV形式で時間と電流のデータを出力
  18. printf("Time(s),Current(A)\n");
  19. for (i = 0; i <= steps; i++) {
  20. time = t_max * i / steps;
  21. // 電流の計算式
  22. I = (V_E / R) * (1 - exp(-time / tau));
  23. printf("%f,%f\n", time, I);
  24. }
  25.  
  26. return 0;
  27. }
  28.  
Success #stdin #stdout 0s 5288KB
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