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. printf("Time(s)\tCurrent(A)\n");
  19. for (i = 0; i <= steps; 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 0s 5280KB
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