MATLAB Answers

how do I take the matrix A and a vector with the indexes of the rows to be considered, and takes out a vector of the mean values?

34 views (last 30 days)
JP Retaw
JP Retaw on 1 Mar 2021
Answered: Steven Lord on 2 Mar 2021
I have to compute a function with the following instructions:
The matrix A is a random matrix mxm, and then I got compute the mean value of the odd columns. Finally I have to compute a function that takes in the matrix A and a vector with the indexes of the rows to be considered(index of whatever row), and takes out a vector of the mean value.
I tried this function, but it doesn't work.
function A(meanValue) = HW3Part3Function
A(meanValue) = mean((A(1:2:end,:),2))
end
Thanks in advanced!
  3 Comments
JP Retaw
JP Retaw on 2 Mar 2021
I tried with this, but it doesn't work
function A(meanValue) = HW3Part3Function
A(meanValue) = mean((A(1:2:end,:),2))
end

Sign in to comment.

Accepted Answer

Steven Lord
Steven Lord on 2 Mar 2021
function A(meanValue) = HW3Part3Function
A(meanValue) = mean((A(1:2:end,:),2))
When you define your function, the function declaration line should include the names of the variables into which the input arguments will be stored and the names of the variables to be returned to the caller. It cannot contain expressions like A(meanvalue).
When you call your function, specify the exact values on which you want your function to operate. The call can contain expressions.
This is an incorrect way to define the addme function:
function z = addme(2, 3)
z = 2+3;
end
This is a correct way to define the addme function:
function z = addme(x, y)
z = x + y;
end
and these are correct ways to call the addme function.
theOutput(17) = addme(2, 3)
theOutput(2) = addme(pi^2, sind(45))
See this documentation page for more information on defining functions.
In addition, nowhere in your code prior to using the A and meanValue variables do you use them, so even if you corrected the function declaration line your function still would not work.
I second Cris LaPierre's suggestion that you go through the MATLAB Onramp as I believe it will teach you how to write functions in MATLAB.

More Answers (1)

Mathieu NOE
Mathieu NOE on 2 Mar 2021
hello
title and question are not consistent: odd rows or odd columns ?
result for odd columns :
out = mean(A(:,1:2:end),1)
result for odd rows
out = mean(A(1:2:end,:),2)
  2 Comments

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!