MATLAB Simulink: IF statement logic
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Quentin De Boever
el 16 de Nov. de 2020
Respondida: Monisha Nalluru
el 18 de Nov. de 2020
General question, if I have code looking like this:
for x=0:500
if x <= 250
y = 2*x+1;
else
y= 3*x+2;
end
end
How could I have the same logic using blocks/systems in Simulink? Whenever I try switches and If blocks, I get an error like "Input Ports (1) of __ are involved in the loop.
I can share my model if it is helpful. But if someone could show me how to put this code in terms of a Simulink system, I'm sure I could figure it out. FYI, if it isn't obvious, x is my input and y is my output.
Thank you!
0 comentarios
Respuesta aceptada
Monisha Nalluru
el 18 de Nov. de 2020
For above code,
We can use Constant block to generate x and then save corresponding y values using To Workspace block based on condition using Switch block
You can also use input and outport but donot keep the port in loop. Fetch all the data once and start processing the data
As an example I am attaching the model
Also if you want data to be taken in serial then use Unbuffer block after the constant block
0 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Naming Conventions en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!