Generate the following signals in Simulink

Good evening Matlab community. I am a bit new to simulink. I would like to know how to plot the function x(t)= 5*cos(30*pi*t+0.25*pi) using blocks. My attempt is below: but the output is all wrong. How do I plot this function? Am I supposed to use a constant source? the contents of my function block is in the other pic. I want a clear xy plot in the scope. Or do I use the xy plot block? I would appreciate any guidance thank you!

19 Comments

Are u intended to use sine wave as the input for the function?? I feel that you are looking for a some kind of sine func defined by y. In that case 'u' should be time and a linearly increasing. Use a clock instead of a sine wave as the input to the function.
I see that worked thank you! How can I reduce the frequency of the output? is it a clock parameter or something that I set int he function block?
cause it cycles far too many times per second than I would like. I would want one cycle per second
I figured out how to zoom, but now the maximas and minimas look jagged or blocky...assuming this is numerical approximation? How can I smoth them?
you can go for more sampling time by discretizing the model. Use a power gui block to do so.
Unsure how to do that. Would adding a zero order hold help?
Include a powergui block in your model from library. In the powergui parameters, change the model to dicrete model and enter the sampling time such as 5e-5 or so.
didn't work, did I do it right?
can u attach ur model??
it wont let me attach a .slx file
hold on let me dropbox it with a url
It is question 2 specifically, same issue for those two signals
I was trying to replicate your model here. One trick for your problem is to use a gain block with unit gain in front of the function and Set the sampling time to the value entered in powergui.
okay let me try it out hold on, and thank you so much for your help!
added the gain block, so set the sampling time in which block?
set the sampling time in the gin block parmeter.
ahh! My gain block does not have a sampling section underneath multiplication
You can also use a zero order hold block in the same way. Dont forget to change the sampling time.
That did it! Thank you!!!!!

Sign in to comment.

 Accepted Answer

Use a clock as an input in place of sine wave. To reduce the number of cycles you need to modify the function y. If you are looking for 1 cycle/second then use a function similar to y= 5*cos(2*pi*u+0.25*pi)

More Answers (0)

Products

Community Treasure Hunt

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

Start Hunting!