2012-03-01 135 views
1

我想繪製使用matlab的電路的能量(W)圖。該公式是:在matlab中繪製電能

Voltage

Current

Power

Energy

enter image description here

繪製的電壓,電流和功率並不難(我覺得我寫的正確的代碼,請告訴米e如果您認爲這是錯誤的):

%Variables 
t1=20e-3;t2=60e-3;N=1000;f=50; 
t=linspace(t1,t2,N); 
Vmax = 10; %Peak Voltage 
Imax = 2; %Peak Current 
f = 50; %Frequency in Hertz 
omega = 2 * pi * f; 
phi_default = -pi/4; %Constant for phase difference 

%Equations 
Vsrc = Vmax * sin(omega * t); %Equation for Voltage 
Isrc = Imax * sin((omega * t) + phi_default); %Equation for Current 
Psrc = Vsrc .* Isrc; %Equation for Power 

%Plotting the result 
figure(1); %Window 1 
plot(t,Vsrc, 'b', t, Isrc, 'r', t, Psrc, 'g'); %Plotting Voltage, Current and Power 

現在的問題是,我不能想出一個辦法,在MATLAB繪製能源。我覺得Δt (Delta t)也許應該使用diff(t)功能和總能量應該是這樣的定義:

enter image description here

和平均功率Pavrenter image description here計算,其中T爲週期。

所以問題是,如何將總瞬時能量enter image description here作爲相位差的函數繪製在enter image description here的範圍內,因此我認爲for loop應該是每個相位值計算的必要條件。

另外我想繪製在同一時期的平均功率。

謝謝。

+0

什麼你的意思是*瞬時*能量?你是否在尋找能量** W **作爲** t **或** phi0 **的函數? – Crowley 2012-03-01 11:56:49

+0

瞬時能量我指的是t時刻的W,我指的是連續情節。對於W我希望它的圖-pi/2和0之間的所以我想這是一個phi 0. 0.謝謝。 – 2012-03-01 12:06:58

+0

@ Sean87對不起,編輯混淆了我的答案,現在應該是正確的。 – Deve 2012-03-01 13:03:34

回答

2

能量是通過在一段時間內對功率進行積分來計算的。當你在這裏處理離散值時,你必須用積分來近似積分。在你的情況下,瞬時能量作爲時間的函數是

Winst = (t2 - t1)/N * cumsum(Psrc);

cumsum爲您提供了向量的所有元素Psrc(t2 - t1)/N是時間間隔的累計總和。

爲了計算作爲phi函數的能量,您必須確定您想要考慮的時間段。你先計算出的能量給定披,然後在固定的時間間隔T1再次整合... T2:

phi = -pi/2:phi_step:0 
Wphi = zeros(1, length(phi)); 
for k = 1:length(phi) 
    Vsrc = Vmax * sin(omega * t); 
    Isrc = Imax * sin((omega * t) + phi(k)); 
    Psrc = Vsrc .* Isrc; 
    Wphi(k) = (t2 - t1)/N * sum(Psrc); 
end 

plot(phi, Wphi); 

平均功率是一個簡單的Psrc平均值:

Pavg = sum(Psrc)/length(Psrc)

+0

非常感謝。我仍然不知道如何定義'phi'和'phi0'。它應該像'phi = 0'和'phi0 = -pi/2'嗎? – 2012-03-01 13:07:45

+0

@ Sean87我將'phi'解釋爲一個變量,它可以在'-pi/2'和0之間有任何值,並且是電壓和電流之間的相位差。 phi0是這個值範圍之外的一個特殊值。 – Deve 2012-03-01 13:14:21

+0

cumsum顯示了一個步驟圖,現在Wphi只會在繪圖窗口中產生一個點...我想t就是在擰它(在歐米茄公式中)。你有沒有編輯過的代碼的圖表? – 2012-03-01 13:29:36