Estoy utilizando una caja de herramientas simbólica para generar una función de matlab. Pero el número de entradas a la función generada varía con la cantidad de objetos que necesito (por ejemplo, el número de interruptores). Para 2 y 3 cambia el aspecto función generada le gusta esto:Función de llamada con un número variable de parámetros en Matlab
y = fun(a1,a2,b1,b2)
y = fun(a1,a2,a3,b1,b2,b3)
En el guión de utilizar esta función establezco vectores de estos parámetros:
a = [a1 a2 ...]
Lo que yo quiero es llamar a la función generada directamente o hacer una función de envoltura, para que no necesite cambiar la declaración de llamada cuando cambio la cantidad de interruptores. Para complicar aún más este problema, estas variables son variables de ACADO. Eso significa que no se permite la operación de matriz y elemento (es decir, todas las operaciones matemáticas se deben hacer con escalares, y las ecuaciones en la caja de herramientas simbólica se deben escribir para escalares).
no creo que resuelve mi pregunta, porque no puedo hacer la función con un número variable de parámetros, ya que se genera mediante la caja de herramientas simbólica (http://www.mathworks.se/help/symbolic/matlabfunction.html) Intenté usar vargin pero no puedo hacer que funcione: f = @ (x, y) (x + y); vargin {1} = 1; vargin {2} = 2; f (vargin) –
La respuesta proporcionada por @angainor es probablemente la forma en que debe ir. –