How to declare input variables as a vector?

43 visualizaciones (últimos 30 días)
Fidele Adanvo
Fidele Adanvo el 7 de Sept. de 2021
Comentada: Fidele Adanvo el 10 de Sept. de 2021
Given
function [y1,...,yN] = myfun(x1,...,xM)
In matlab is it possible that the input variable x1 is a vector?

Respuesta aceptada

cr
cr el 7 de Sept. de 2021
Of course it can be a vector, a matrix or a variable of some class.
  6 comentarios
Steven Lord
Steven Lord el 10 de Sept. de 2021
Sure, why not?
x = 0:360;
y = sind(x); % The input to the sind function is a vector
plot(x, y)
If you have a function that accepts multiple inputs and you want to pass in a vector and have each element treated as a separate input, that may not be as easy. As an example the hypot function requires two inputs:
z1 = hypot(3, 4)
z1 = 5
If you had the vector [3 4] and wanted to pass it into hypot as two separate inputs, the easiest way to do that would be to do it explicitly.
v = [3 4];
z2 = hypot(v(1), v(2))
z2 = 5
Some functions can accept either a vector or individual elements. Functions like ones are a prime example of this.
A1 = ones(3, 4)
A1 = 3×4
1 1 1 1 1 1 1 1 1 1 1 1
A2 = ones([3, 4])
A2 = 3×4
1 1 1 1 1 1 1 1 1 1 1 1
Fidele Adanvo
Fidele Adanvo el 10 de Sept. de 2021
Now I understand why my code gave an error.
Thank you

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Write C Functions Callable from MATLAB (MEX Files) 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