variable discrete vector generation in Simulink

I need to make sequence (1D vector) from 2 constants in Simulink.
e.g.: x1=1 and x2=10 as input constant
Desired vector: X=[1 2 3 4 5 6 7 8 9 10]
I know It is very easy to generate such vector in matlab, but I really want to do it in terms of blocks and not even Embedded Matlab Function Block.
Thanks in Advance

14 comentarios

Azzi Abdelmalek
Azzi Abdelmalek el 11 de Sept. de 2012
why, whithout matlab function? what do you want to do?
TAB
TAB el 12 de Sept. de 2012
Save x1=1 & x2=10 in base workspace. Take a constant block in simulink & put the value as [x1:x2]
Azzi Abdelmalek
Azzi Abdelmalek el 12 de Sept. de 2012
Editada: Azzi Abdelmalek el 12 de Sept. de 2012
at t=0; x1 and x2 are unknowns, it will not work
TAB
TAB el 12 de Sept. de 2012
Editada: TAB el 12 de Sept. de 2012
@Azzi Abdelmalek: x1 and x2 are in base workspace, so they will be evaluated during model update. So at t=0, values will be available in constant block.
Can you let me know how you have tried this ?
Azzi Abdelmalek
Azzi Abdelmalek el 12 de Sept. de 2012
TAB, I have simulated your idea, and it did'nt work.
TAB
TAB el 12 de Sept. de 2012
Ok, from "Save x1=1 & x2=10 in base workspace", I mean save these variables manually from command window before simulation.
Azzi Abdelmalek
Azzi Abdelmalek el 12 de Sept. de 2012
Editada: Azzi Abdelmalek el 12 de Sept. de 2012
But during simulation, they can't be updated,I guess x1 and x2 are outputs of other blocks
Kaustubha Govind
Kaustubha Govind el 12 de Sept. de 2012
Azzi: I think TAB is saying that x1 and x2 should be parameters to the MATLAB Function block, not inputs.
Azzi Abdelmalek
Azzi Abdelmalek el 12 de Sept. de 2012
The question said to avoid Matlab function.
Mojtaba
Mojtaba el 12 de Sept. de 2012
Editada: Mojtaba el 12 de Sept. de 2012
Making x1 and x2 as variable and the using a constant block [x1:x2]works but the problem is that x1 and x2 change during the simulation.
Azzi Abdelmalek
Azzi Abdelmalek el 12 de Sept. de 2012
Editada: Azzi Abdelmalek el 12 de Sept. de 2012
Mojtaba, just one question: matlab functions make our life much easier, why want you avoid them?
Mojtaba
Mojtaba el 12 de Sept. de 2012
Editada: Mojtaba el 12 de Sept. de 2012
my advisor told me that do not use them because after completing the simulation model we are going to make the code out of it(maybe HDL/PLC code) that if we use embedded matlab block it is not possible to do it. Have you ever heard of it?
Azzi Abdelmalek
Azzi Abdelmalek el 12 de Sept. de 2012
Matlab function is supported by HDL coder. Depends on verision of matlab you are using
TAB
TAB el 13 de Sept. de 2012
Mojtaba, If you hints us about your requirement, may be anyone can suggest a better alternative solution.

Iniciar sesión para comentar.

Respuestas (2)

Kaustubha Govind
Kaustubha Govind el 12 de Sept. de 2012
Editada: Kaustubha Govind el 12 de Sept. de 2012

0 votos

Mojtaba: Do x1 and x2 change during simulation? If not, try defining them as workspace variables.
  • Constant block: Enter [x1:x2] as Value.
  • MATLAB Function block: Make them non-tunable parameters on the block's Ports and Data Manager and compute output using [x1:x2].

2 comentarios

Mojtaba
Mojtaba el 12 de Sept. de 2012
yes they change during simulation.
Kaustubha Govind
Kaustubha Govind el 13 de Sept. de 2012
I think this is a lot harder to do. You will need to understand Variable-Size Signals because if x1 and x2 change during simulation, the size of the signal also changes. I don't see any easy way to do this without the MATLAB Function block, but even with that block, I think this will be tricky.

Iniciar sesión para comentar.

Azzi Abdelmalek
Azzi Abdelmalek el 12 de Sept. de 2012
Editada: Azzi Abdelmalek el 12 de Sept. de 2012

0 votos

check the blocks supported by HDL coder at http://www.mathworks.com/help/hdlcoder/ug/summary-of-block-implementations.html at the end of the page(simulink/User-Defined Functions/MATLAB Function)
MATLAB Function (was Embedded function for previous versions)

Productos

Etiquetas

Preguntada:

el 11 de Sept. de 2012

Community Treasure Hunt

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

Start Hunting!

Translated by