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

3 vues (au cours des 30 derniers jours)
Eric Brown
Eric Brown le 9 Avr 2022
Commenté : Steven Lord le 9 Avr 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 commentaires
Torsten
Torsten le 9 Avr 2022
function y = My_func(a,bcde)
b = bcde(1);
c = bcde(2);
d = bcde(3);
e = bcde(4);
end
Eric Brown
Eric Brown le 9 Avr 2022
God bless you.

Connectez-vous pour commenter.

Réponses (2)

Torsten
Torsten le 9 Avr 2022
Modifié(e) : Torsten le 9 Avr 2022
scalar = 6.0;
vector = [3 5 8];
output = input(scalar,vector)
function output = input(scalar,vector)
output = scalar*vector;
end

KSSV
KSSV le 9 Avr 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 commentaire
Steven Lord
Steven Lord le 9 Avr 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.)

Connectez-vous pour commenter.

Catégories

En savoir plus sur Matrices and Arrays dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by