Sammyboy

02-13-2010, 05:55 PM

Question: Write a function named mymax that takes as input a list of numbers and returns the maximum value in the list and its location (index). You may NOT use Matlab's max command. Your function should show an error message and return 0 and 0 if it is called with the wrong number of inputs or if the input isn't a one row matrix.

What I have so far:

function Q1=mymax[list]

%input a list of values

%output-maximum value

%output-value position

x_max=list(1)

% sets the initial value of the list to the maximum value

for ii = 1:length(list)

% runs the if statement below for the entire list of numbers

if x_max < x(ii)

% if statement which checks whether the current value is higher than the next value

x_max = x(ii)

% if x(3) is higher than x(1), and so on, then x_max will become the third value.

end

for list(1)< list(i)

x_max=list(i)

if list(x)

error('wrong number of inputs')

i=0;

return;

end

if

error('the input isnt a one row matrix')

i=0;

return;

end

MikeMoss

02-16-2010, 11:46 AM

This sounds like a HW assignment. Why else would you not be aloud to use the max command.

function Q1 = mymax[list]

%output-maximum value

%output-value position

x_max=list(1)

% sets the initial value of the list to the maximum value

for ii = 1:length(list)

% runs the if statement below for the entire list of numbers

if x_max < x(ii), % I think you want list(ii) not x(ii), bc you do not have a variable x.

% if statement which checks whether the current value is higher than the next value

x_max = x(ii)

% if x(3) is higher than x(1), and so on, then x_max will become the third value.

end % This just ends the if statement.

for list(1) < list(i) % were you wanting a nested for for loop? What is i?

x_max = list(i)

if list(x) % You havent declared a variable x.

error('wrong number of inputs')

i=0;

return;

end

if % No parameters for the if statement

error('the input isnt a one row matrix')

i=0;

return;

end

Your errors could be because Im not sure if the varibles are passing outside of the of the for loops. I havent taken a MATLAB class since last spring so I dont remember. The variables might need to be declared as global.

Sorry if nothing I added helped. I am by no means a MATLAB expert.

Is there any more info about the problem?

Could you post your mymax function? Edit: this is the mymax function.

Use the MATLAB help.

Beaflag VonRathburg

02-18-2010, 04:11 AM

Don't get caught by your teacher. That's all I have to say on the subject. You may end up with a fancy new user title.

Ryans99ls1

02-21-2010, 05:38 PM

This sounds like a HW assignment. Why else would you not be aloud to use the max command.

Your errors could be because Im not sure if the varibles are passing outside of the of the for loops. I havent taken a MATLAB class since last spring so I dont remember. The variables might need to be declared as global.

Sorry if nothing I added helped. I am by no means a MATLAB expert.

Is there any more info about the problem?

Could you post your mymax function? Edit: this is the mymax function.

Use the MATLAB help.

It sounds like you are referring more to a C++ type program.. but idk im VERY new to C++ and more in depth programming. i didnt really read into OP's program much though because i recently just stopped using MATLAB and switched to C++(which im not a fan of) so my MATLAB skills are fading. ill have to think about this one and get back to you(the OP)