where is the error ?

function [ vmin ] = mini(vect)
%MINI retourne le minimum d’un vecteur
n = numel(vect);
if n == 0
vmin = [];
else
vmin = vect(1);
for k = 2:n
if vect(k) < vmin
vmin = vect(k);
end
end
end
end
function [ vmax ] = maxi(vect)
%MAXI retourne le maxiimum d’un vecteur
n = numel(vect);
if n == 0
vmax = [];
else
vmax = vect(1);
for k = 2:n
if vect(k) > vmax
vmax = vect(k);
end
end
end
end

8 Comments

what error are you encountering ?
show this :
??? Input argument "vect" is undefined.
Error in ==> mini at 3
n = numel(vect); if n == 0, vmin = []; else vmin =
Adam Danz
Adam Danz on 2 Dec 2018
Edited: Adam Danz on 2 Dec 2018
If your function breaks the first time it's sole inputs is accessed and the error is that the input variable 'vect' is undefined, that suggests you're running the function without an input.
You aren't just clicking the green Run triangle without passing in vect are you???
That's my bet (what Image Analyst said). If you'd like to run your code with default values for when there are no inputs specified, add this to the top of your code.
if nargin == 0
vect = [1 2 3 4 5]; %whatever your default values are
warning('Default values entered in %s.m', mfilename)
end
defining the variable in the base workspace is not enough .you need to go to the command line and
mini(v)
can you show me ho to do ?

Answers (1)

M
M on 3 Dec 2018
Edited: M on 3 Dec 2018

0 votes

In the command line, where you defined v, call the function this way:
>> v= [1 2 3 ;4 5 6];
>> mini(v)

This question is closed.

Products

Tags

Asked:

on 2 Dec 2018

Closed:

on 20 Aug 2021

Community Treasure Hunt

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

Start Hunting!