我正在计算电容器的电压和电流。现在我想确定能量。能量只是力量的组成部分,但我无法整合我的力量功能:
I_C=exp(-alpha*t).*(x5(1)*cos(omega_d*t)+x5(2)*sin(omega_d*t));
V_C=exp(-alpha*t).*(x6(1)*cos(omega_d*t)+x6(2)*sin(omega_d*t))+V_In;
Pow_C=V_C.*I_C;
Pow_C_Function=@(t)Pow_C;
Energy_C=quad(Pow_C,0,tf)
我得到错误:integrand函数必须返回的输出向量 与输入向量相同的长度。
有人可以帮忙吗?
答案 0 :(得分:1)
您应该将I_C,V_C和Pow_C定义为函数(就像您为Pow_C_Function所做的那样)。目前它们只是变量。
答案 1 :(得分:1)
好吧,您已将I_C
和V_C
定义为两个矩阵,而不是两个函数。修复很简单:
I_C = @(t) exp(-alpha*t).*(x5(1)*cos(omega_d*t)+x5(2)*sin(omega_d*t));
V_C = @(t) exp(-alpha*t).*(x6(1)*cos(omega_d*t)+x6(2)*sin(omega_d*t))+V_In;
Energy_C = quad(@(t)V_C(t).*I_C(t), 0,tf);
此外,请查看quadgk
或quadl
,或者如果您使用的是Matlab R2012a或更新版本integral
。