a function that has two inputs: a number and a row vector

2 Ansichten (letzte 30 Tage)
Eric Brown
Eric Brown am 9 Apr. 2022
Kommentiert: Steven Lord am 9 Apr. 2022
The code i am tryin to make requires that there be only two inputs, the first a number and the second as a row vector. How do I do that? I have tried looking online and even in my textbook but i cant find anything.
I should calarify, when calling the function the command window should read My_func(1,[18 11 22 48]).
What I have in my .m file is function y = My_func(a,b,c,d,e), I believe this is where I am having a lack of knowlege.
  2 Kommentare
Torsten
Torsten am 9 Apr. 2022
function y = My_func(a,bcde)
b = bcde(1);
c = bcde(2);
d = bcde(3);
e = bcde(4);
end

Melden Sie sich an, um zu kommentieren.

Antworten (2)

Torsten
Torsten am 9 Apr. 2022
Bearbeitet: Torsten am 9 Apr. 2022
scalar = 6.0;
vector = [3 5 8];
output = input(scalar,vector)
function output = input(scalar,vector)
output = scalar*vector;
end

KSSV
KSSV am 9 Apr. 2022
function val = myfun(a,b)
if numel(a) ~= 1 | size(b,1) ~=1
error('check the inputs') ;
end
% Do what you want
end
  1 Kommentar
Steven Lord
Steven Lord am 9 Apr. 2022
Instead of using numel and size here, I recommend using isscalar and isrow or isvector (depending on whether you care about the orientation or just whether or not the input is a vector.)

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Structures finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by