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

5 ビュー (過去 30 日間)
Eric Brown
Eric Brown 2022 年 4 月 9 日
コメント済み: Steven Lord 2022 年 4 月 9 日
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 件のコメント
Torsten
Torsten 2022 年 4 月 9 日
function y = My_func(a,bcde)
b = bcde(1);
c = bcde(2);
d = bcde(3);
e = bcde(4);
end
Eric Brown
Eric Brown 2022 年 4 月 9 日
God bless you.

サインインしてコメントする。

回答 (2 件)

Torsten
Torsten 2022 年 4 月 9 日
編集済み: Torsten 2022 年 4 月 9 日
scalar = 6.0;
vector = [3 5 8];
output = input(scalar,vector)
function output = input(scalar,vector)
output = scalar*vector;
end

KSSV
KSSV 2022 年 4 月 9 日
function val = myfun(a,b)
if numel(a) ~= 1 | size(b,1) ~=1
error('check the inputs') ;
end
% Do what you want
end
  1 件のコメント
Steven Lord
Steven Lord 2022 年 4 月 9 日
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.)

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeMatrices and Arrays についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by