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 = 6; // 計算ステップ数(0を含めて7点)
  11. double t_max = 0.001; // 計算する最大時間 (秒)
  12. int i; // ループ変数
  13.  
  14. // 時定数 τ = L / R
  15. tau = L / R;
  16.  
  17. // 時間変化に伴う電流 I(t) を計算
  18. printf("Time(s)\tCurrent(A)\n");
  19. for (i = 0; i <= steps; i++) { // ループの外で宣言した i を使用
  20. time = t_max * i / steps;
  21. I = (V_E / R) * (1 - exp(-time / tau));
  22. printf("%f\t%f\n", time, I);
  23. }
  24.  
  25. return 0;
  26. }
  27.  
Success #stdin #stdout 0.01s 5288KB
stdin
Standard input is empty
stdout
Time(s)	Current(A)
0.000000	0.000000
0.000167	0.001667
0.000333	0.001667
0.000500	0.001667
0.000667	0.001667
0.000833	0.001667
0.001000	0.001667