0

我正在计算电容器电压和电流。现在我也想确定能量。能量只是力量的积分,但是我无法整合我的幂函数:

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)

我收到错误:被积函数必须返回与输入向量长度相同的输出向量。

任何人都可以帮忙吗?

4

2 回答 2

1

好吧,您已经将I_Cand定义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);

另外,请查看quadgkor quadl,或者如果您使用的是 Matlab R2012a 或更新版本,则integral.

于 2012-10-22T07:21:52.270 回答
1

您应该将 I_C、V_C 和 Pow_C 定义为函数(就像您为 Pow_C_Function 所做的那样)。目前它们只是变量。

于 2012-10-22T02:05:47.340 回答