How to declare input variables as a vector?

43 views (last 30 days)
Given
function [y1,...,yN] = myfun(x1,...,xM)
In matlab is it possible that the input variable x1 is a vector?

Accepted Answer

cr
cr on 7 Sep 2021
Of course it can be a vector, a matrix or a variable of some class.
  6 Comments
Steven Lord
Steven Lord on 10 Sep 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 on 10 Sep 2021
Now I understand why my code gave an error.
Thank you

Sign in to comment.

More Answers (0)

Categories

Find more on Write C Functions Callable from MATLAB (MEX Files) in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!