7 visualizaciones (últimos 30 días)
Manos el 28 de Feb. de 2014
Comentada: Ryan Rizzo el 21 de Mzo. de 2018
Hello I am trying to create a MATLAB function on simulink that ,between others, requires the use of the 'tf' function . Problem is I can't really find a way to use the output of the 'tf' function since it's an mxarray. So when I run something like this
function y = fcn(u)
%#codegen
coder.extrinsic('tf')
g=tf(,[1 1]);
y=0;
y=g*u;
I get this error: MATLAB expression 'mtimes' is not numeric. Block MATLAB Function (#36) While executing: none . Initializing g gives me the 'is not numeric' error so it won't help... So I was wondering if there is anyway to get it done - the scripting way, I know I can use transfer function simulink blocks etc...Thanks in advance. (I am using Matlab R2012b btw)
##### 4 comentariosMostrar 3 comentarios más antiguosOcultar 3 comentarios más antiguos
Ryan Rizzo el 21 de Mzo. de 2018
Hi Manos, how did you manage to solve this issue?

Iniciar sesión para comentar.

### Respuestas (1)

Rick Rosson el 28 de Feb. de 2014
Multiplication is not the same thing as convolution. This approach will not work. You need to write a function that performs continuous time convolution. The only way to do that is to approximate the solution by approximating the continuous integral as a discrete summation over a small sample size. It should be possible, but not easy or fun.
Why not just use the TF block provided by a Simulink? No sense reinventing the wheel.
##### 1 comentarioMostrar NingunoOcultar Ninguno
Manos el 28 de Feb. de 2014
But since G is in the frequency domain isn't multiplication correct? Why would I have to use convolution??? (I know it makes absolutely no sense trying this the long way, I am just really stubborn :P ) Thanks a lot for your answer Rick!

Iniciar sesión para comentar.

### Categorías

Más información sobre Simulink Functions 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!