在Matlab中实现i(t)函数

时间:2019-07-13 15:04:13

标签: matlab

我有一个问题,必须在Matlab中实现以下问题。

i(t) = A2 * sin(wr*t) * exp(-alpha*t); for t [0, 10] with step 0.5s

我的方法如下

clc;
clear;

% Given Data
Vs = 220;
L = 5e-3;
C = 10e-6;
R = 22;
Vo = 50;

% a)
alpha = R / (2 * L);
omega_not = 1 / sqrt(L*C);
omega_r = sqrt( omega_not^2 - alpha^2 );
A2 = Vs / (omega_r * L);
t = 1:0.5:10;
i = A2 * sin( omega_r * t ) .* exp(-alpha * t);

% b)
t1 = pi / omega_r;

% c)
plot(t, i);

但是它会产生所有等于零的电流值。请帮助我解决问题。

1 个答案:

答案 0 :(得分:1)

我认为问题出在表达的这一部分:

exp(-alpha * t)

当我运行您的代码时,-alpha等于-2200。如此大的负数的指数是如此之小,以至于代码返回零。

>> exp(-200)

ans =

   1.3839e-87

>> exp(-1000)

ans =

     0