Borrar filtros
Borrar filtros

How do i use vectors as input to the "interpreted Matlab Fnc" block?

4 visualizaciones (últimos 30 días)
I wrote a litle test function, which determines the scalar product of two vectors. It works fine when i use it in matlab. When i use the "interpreted Matlab Fnc" block in simulink it doesnt work properly. For a = 2 and b = 1 it gives me 2, which is correct. But when i use vectors instead of numbers like a = [2;2] and b = [1;1] i get 2 instead of 4.
I tried different combinations, but its always wrong... Since the "interpreted Matlab Fnc" block has only one input-port im using a Mux-block, may this be my mistake?
Does anybody have an idea what i'm doing wrong? thx for your help

Respuesta aceptada

Azzi Abdelmalek
Azzi Abdelmalek el 30 de Abr. de 2013
a should be [2 2] instead of [2;2]
  4 comentarios
Fedor
Fedor el 30 de Abr. de 2013
Editada: Fedor el 30 de Abr. de 2013
but thats not how i calculate the product in my function. I wanted to write my own code to test the "interpreted Matlab Fnc" block, because i will need it a lot. so my function is so:
function [ y ] = skalar( x,z )
y = 0;
if length(x) == length(z)
for i = 1:length(x)
y = y + x(i)*z(i);
end
else
print('Invalid Input');
end
end
i think the mistake must be in simulink, since the function works just fine when i use it in the workspace.
Kaustubha Govind
Kaustubha Govind el 9 de Mayo de 2013
Fedor: it might be a good idea to set a breakpoint in your code to understand how the inputs are passed in.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

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

Translated by