Can I use as Input at Simulink a equation?

14 views (last 30 days)
Hello,
Can I use this equation as input at Simulink? I would appreciate any help.
Simulink block:

Accepted Answer

Walter Roberson
Walter Roberson on 24 Dec 2015
Use a MATLAB Function Block, or an Interpreted MATLAB Block
  5 Comments
Walter Roberson
Walter Roberson on 29 Dec 2015
"Interpreted MATLAB Function
Supports only a single input and a single output port. Use a Mux block to combine the inputs and a Demux block to separate the outputs if you pass multiple signals into or out of these blocks."
Alternately you could use a Level 2 MATLAB S-Function as those accept multiple inputs.
For the Interpreted MATLAB Function, I am not at the moment sure whether it is permitted to name the input anything other than u. It might need to look something like,
sum( u(:,2).*cos(2.*pi.*u(:,3).*u(:,1)+u(:,4) )
But since this is a scalar result involving only values from your workspace, it is not clear to me why you do not just calculate the scalar in MATLAB ? Is your mention of a random number generator intended to be a hint that you want to try random phases? Keep in mind that if you use random numbers inside an algebraic loop then the calculation is not going to be differentiable and Simulink would not be able to calculate consistent values.
Bob
Bob on 2 Jan 2016
Thank you for your answer again.
So I should calculate the equation in Matlab.
Get two variables simin=[t,h].
And use "From Workspace" block at Simulink?
Actually I did that. I got the same results with Matlab. The only "problem" is that I have to manually change the simulation time in Simulink but it's ok.
Thanks for your time.

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!