- Drag a S-function builder block in the model.
- Configure S-function having only 1 output (y[0]). No input, No discrete state, No continuous state.
- In the output function write code given below
- Build the S-function and run the model.
How to create a sawtooth signal inside an S-function ?
1 view (last 30 days)
Show older comments
Hi,
I'm working with C-MEX S-function (C code). I was wondering if it is possible to create a sawtooth signal inside a C-coded S-function and see the signal with the Simulink scope. If it is possible, how to do it ?
Thanks for your help
0 Comments
Accepted Answer
TAB
on 10 Sep 2012
Edited: TAB
on 10 Sep 2012
A simple demonstration:
y0[0] = y0[0]+1;
if(y0[0]>UPPER_LIMIT)
{
y0[0] = 0;
}
More Answers (1)
Alice
on 14 Sep 2012
3 Comments
TAB
on 17 Sep 2012
In your S-function builder block
- 1 output (y[0]) for LED,
- 1 input (u[0]) for comparing
- 1 discrete state (xD[0]) for storing Ramp value
- No continuous state.
In your S-function builder Discrete update field
xD[0] = xD[0] + 1;
if(xD[0]>=UPPER_LIMIT)
{
xD[0] = 0;
}
In your S-function builder Outputs field
if(xD[0]>=u0[0])
{
y0[0] = 1; /*LED ON*/
}
else
{
y0[0] = 0; /*LED OFF*/
}
Please go through the s-function document.
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!