首页 > 解决方案 > 如何在 Matlab 中模拟电容器行为?

问题描述

根据 hyperphysics.edu,它说电容器上的电压可以表示为Vo(1-exp(-t/RC))

我想有一种将这种建立行为应用于信号的方法,但不太知道如何做到这一点。

在matlab中,如果我这样做:

t = 0:0.0001:0.05-0.0001;
tau = 0.005;
c = 1-exp(-t/tau);
s = zeros(1,1000);
s(201:600) = ones(1,400);

c看起来像我期望的电容器充电的样子。s 是您打开和关闭电源时输入电压的理想值。我想要的是能够应用那个 C 模式。我不确定这样做的数学方法是什么。我认为这是你会使用卷积的那种想法,所以我尝试了

o = conv(s,c(500:-1:1));

但是,将上升动作显示为直线上升的绘图看起来不正确,所以我认为我还需要做其他事情。

如果您有 RC 常数,需要应用什么样的操作或方法来模拟电容器如何作用于某些输入电压信号?

标签: matlab

解决方案


电容项应该只包括指数,并且卷积已经翻转了第二个向量,因此不需要再次翻转它。

dt=0.0001;

t = 0:dt:0.05-dt;

tau = 0.005;

c = dt/tau*exp(-t/tau);

s = 零(1,1000);

s(201:800) = 1;

o = 转换(s,c);

tt=(0:(长度(o)-1))*dt;

图;情节(tt,o)


推荐阅读