Having trouble with functions

So I have this problem for school and I don't know how to take an element out of an array or matrix and put it into another one. Here is the question:
Create a function meancomp that compares the mean value of the odd numbered elements with the mean value of the even numbered elements and returns:
0, if they are equal
1, if the mean of the odd numbered elements is greater,
2, if the mean of the even numbered elements is greater"
This is what I have:
for m=1:length(x)
if mod(x,2)==0 % code end

 采纳的回答

No. Just extract them like this
oddElements = A(1:2:end);
same for even but you start at 2 instead of 1, though you can still end at "end". To find the mean of an array, use mean
oddMean = mean(oddElements);
I trust you can take it from there because you know how if/else statements work.

1 个评论

This was extremley helpful, thank you.
My problem now is making the if/else statements into one function called meancomp. This is what I have and it only displays '2'.
function p=meancomp(A)
oddElements=A(1:2:end);
evenElements=A(2:2:end);
oddMean=mean(oddElements);
evenMean=mean(evenElements);
if evenMean==oddMean
disp('0');
elseif evenMean<oddMean
disp('1');
else
disp('2');
end
end

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Loops and Conditional Statements 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by