add a function to a model

1 次查看(过去 30 天)
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

采纳的回答

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

更多回答(2 个)

Daniel Baboiu
Daniel Baboiu 2011-11-3
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 个评论
Néstor Monedero
Néstor Monedero 2011-11-3
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

请先登录,再进行评论。


Jon
Jon 2011-11-3
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.

类别

Help CenterFile Exchange 中查找有关 Block Authoring Basics 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by