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

5 ビュー (過去 30 日間)
Eduard-Mihai 2022 年 10 月 22 日
回答済み: Sameer Pujari 2022 年 10 月 25 日
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 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 Center および File Exchange2-D and 3-D Plots についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by