Filter löschen
Filter löschen

add a function to a model

1 Ansicht (letzte 30 Tage)
Néstor Monedero
Néstor Monedero am 3 Nov. 2011
Hi, I develop a function in matlab code:
function u = f(y)
if (u>0.8)
y=1;
elseif (u<0.8)
y=-1;
else
y=0;
where u is a random signal generate with the random number block. How can i join these two blocks? (random number and a block which contain my function without errors). I try using level-2 matlab s-function but it make error. can i use another block in which i introduce my matlab function code?
Thanks in advance. Néstor

Akzeptierte Antwort

Fangjun Jiang
Fangjun Jiang am 3 Nov. 2011
Use the "MATLAB Fcn" or "Fcn" block from library Simulink>User-Defined Functions.

Weitere Antworten (2)

Daniel Baboiu
Daniel Baboiu am 3 Nov. 2011
If a function is coded as function u = f(y), then y is the argument and u is the return value. Your block of code does it the other way around.
  1 Kommentar
Néstor Monedero
Néstor Monedero am 3 Nov. 2011
Sorry, the matlab function code is:
function y = fnc(u)
if(u<0.8)
y=-1;
elseif (u>0.8)
y=1;
else
y=0;
end

Melden Sie sich an, um zu kommentieren.


Jon
Jon am 3 Nov. 2011
Have you tried using a 'MATLAB Function' block? Under 'User-Defined Functions'.
u will be your input port and y will b your output port.
  1 Kommentar
Néstor Monedero
Néstor Monedero am 3 Nov. 2011
Thanks, i use the matlab function block.

Melden Sie sich an, um zu kommentieren.

Community Treasure Hunt

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

Start Hunting!

Translated by