MATLAB Answers

0

Function won't show up on plot

Armin Kaufmann さんによって質問されました 2019 年 9 月 30 日
最新アクティビティ Jyotsna Talluri さんによって 回答されました 2019 年 10 月 3 日
Hi, so I'm supposed to create a rectangular signal (with 1 period) that looks as the screenshot posted:graph.png
where I have 4 input parameters: "T" as the period input in seconds, "Ti" as the duty cycle input in seconds too, H as the "High" - Level of the signal and L as the "Low" - Level of the signal.
So, I created a function to achieve that:
function [yg, t] = Task1Try2(T,Ti,H,L,N)
yges=L:H;
for t=1:T
if t<Ti
yges=ones*H
else
yges=ones*L
end
end
yg=yges;
plot(t,yg);
title("Muster");
xlabel("Zeit in S");
ylabel("Amplitude");
grid on
axis([0,T,0,5]);
end
By the way idk how to put matlab code in here as smooth in those "boxes", feel free 2 let me know.
I have a suspicion that the problem is that I do not assign each "t" value with a proper "y"/"yges" value, but how do I get that done? I don't want the Y values changed by the t value so....
Thanks in advance!

  0 件のコメント

サインイン to comment.

製品


リリース

R2019a

1 件の回答

回答者: Jyotsna Talluri 2019 年 10 月 3 日

For creating the rectangular pulse waveform, there is an inbuilt function phased.RectangularWaveform in Phased Array System Toolbox .You can try using that
waveform=phased.RectangularWaveform('PulseWidth',Ti,'PRF',1/T,'OutputFormat','Pulses','NumPulses',N);
y=waveform();
y=(b-a)*y;
du = N*1/waveform.PRF;
tsam = du*waveform.SampleRate;
t = unigrid(0,1/waveform.SampleRate,du,'[)');
plot(t.*1000,real(y)+a);
Refer to the below link for more information

  0 件のコメント

サインイン to comment.



Translated by