필터 지우기
필터 지우기

Plotting a graph to show the variation in time of a current

조회 수: 5 (최근 30일)
Eduard-Mihai
Eduard-Mihai 2022년 10월 22일
답변: Sameer Pujari 2022년 10월 25일
Hello,
I have the following current with the expression:
i =13*sqrt(2)*sqrt(2)*sin(2* pi*40*t-8.13)
and i want to plot the variation in time over 1.5 period.
I tried something i have seen on the cummunity:
period = 1/40
Periods = 1.5 * period
t = linspace(0,Periods, 1000);
i =13*sqrt(2)*sqrt(2)*sin(2* pi * t/period-8.13);
plot(t, i, 'b-', 'LineWidth', 2);
grid on;
and it shows this graph:
but the correct graph i know is this one:
(the blue line is for the current i wrote above)
Can somebody help me write the correct code to obtain the correct results?
Thank you!
  댓글 수: 1
dpb
dpb 2022년 10월 22일
i =13*sqrt(2)*sqrt(2)*sin(2* pi*40*t-8.13)
What's the point of sqrt(2)*sqrt(2) in the above? That's just 2 identically.
There's no way to produce the other figure from your code without defining three timeseries; the three there all have differing amplitudes and phase shifts (although the bue one is pretty near zero, it isn't quite) and they're all over what appears to be identically 2 periods, not 1.5.
You'll have to define what those curves are supposed to be representing first...

댓글을 달려면 로그인하십시오.

답변 (1개)

Sameer Pujari
Sameer Pujari 2022년 10월 25일
Hi Eduard Mihai
Upon reproducing your code, I understood that the issue you are facing is due to not converting the phase angle from degree's to radian's
Use of "sin" in MATLAB returns sine of argument in radians. Converting phase from degree to radians gives the desired correct graph
i =13*sqrt(2)*sqrt(2)*sin(2* pi*40*t-8.13*pi/180)
I hope this information helps you!

카테고리

Help CenterFile Exchange에서 Line Plots에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by