2012-10-22 5 views
0

나는 커패시터 전압과 전류를 계산하고 있습니다. 이제 에너지를 결정하고 싶습니다. 나는 오류가'쿼드'함수를 사용하여 오류가 matlab에 - 에너지를 얻기 위해 전력을 통합

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; 
[email protected](t)Pow_C; 
Energy_C=quad(Pow_C,0,tf) 

: 적분 함수는 입력 벡터와 같은 길이의 출력 벡터를 반환해야 에너지 그러나 나는 나의 전력 기능을 통합 할 수없는, 권력의 바로 핵심이다.

아무도 도와 줄 수 있습니까?

답변

1

당신은 I_C, V_C 및 Pow_C를 함수로 정의해야합니다 (Pow_C_Function에서했던 것처럼). 현재 그들은 단지 변수입니다.

+0

좋아요? I_C_Function = @ (t) I_C; V_C_Function = @ (t) V_C; 그리고 I_C_Function 가 작동하지 않습니다 * Pow_C_Function = @ (t) V_C_Function 같은 사람들을 사용하여 ... 당신은 내게 당신이 제발 무슨 뜻의 예를 들어 줄 수 있을까? – user1412994

+0

지금이 오류가 발생합니다 : 'function_handle'유형 의 입력 인수에 대해 정의되지 않은 함수 'times'. 줄의 경우 : Energy_C = quad (Pow_C, 0, tf) – user1412994

1

음은 두 행렬이 아닌 두 기능 것으로 I_CV_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에 있다면.

+0

@ user1412994 :이 작업을 수행 했습니까? –