Varagin function with a vector

6 views (last 30 days)
Thom
Thom on 10 Apr 2017
Commented: Thom on 11 Apr 2017
Hi, can someone help me, i must implement a matlab function with varargin and the input and the output arguments must be a vector. Which brackets should i choose to implement a vector in a varagin function The code below should show, how i would try to convert the temperature from celsius to fahrenheid. Thanks for your help
function [ output ] = c2f(varargin) %UNTITLED Summary of this function goes here % Detailed explanation goes here
f=convtemp([nargin],'C','F'); output=f
end

Accepted Answer

Jan
Jan on 10 Apr 2017
Edited: Jan on 11 Apr 2017
You forgot to mention what you want to provide as input and get as output. I guess you do not need varargin at all:
function output = c2f(Data)
output = convtemp(Data, 'C', 'F');
end
If you really want to provide several inputs, do you want to reply a cell array as output? Or a list of sepearate variables? For the latter:
function varargout = c2f(varargin) % [EDITED, typo, was "nargin"]
if nargout ~= nargin
error('Number of outputs must equal the number of inputs.');
end
for iArg = 1:nargin
varargout{iArg} = convtemp(varargin{iArg}, 'C', 'F');
end
end
  4 Comments
Jan
Jan on 11 Apr 2017
Edited: Jan on 11 Apr 2017
To get a cell array as output:
function C = c2f(varargin)
C = cell(1, nargin);
for iArg = 1:nargin
C{iArg} = convtemp(varargin{iArg}, 'C', 'F');
end
end
Now this can be called by:
Temperature = c2f(0:5, [123.1, 123.4, 123.9], Inf, -17:2:100)
Thom
Thom on 11 Apr 2017
Thanks for your help

Sign in to comment.

More Answers (0)

Categories

Find more on Argument Definitions 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!