Info
This question is closed. Reopen it to edit or answer.
Issue with writing a function
1 view (last 30 days)
Show older comments
Hi, I am attempting to write a function (named mean) in order to
1) filter matrix A (100 x 2 matrix) by x & y (i.e all the rows that have x = 1, and y = 2)
--> this will return me with a logical with all the rows that fulfill the criteria of my input of x & y
2) then find out the location of rows which the logical is true (i.e. 1)
3) with the locations, to find out the data that corresponds to the corresponding row numbers in matrix D (logical as true)
4) find mean
My function currently looks something like this:
%%%%%%%%%%%%%%%%%%%%%%%
%% [location] = mean (x,y)
%% xy = A(:,1)==x & A(:,2)==y
%% C = find(xy)
%% D(C) = ans
%% mean(ans)
end
After writing, I wrote in the command window: x = 1; y = 2; function[mean] = mean(x,y) but was returned with an error "function definition not supported in this context. Create functions in code file." I am not sure if my understanding of function writing is accurate and would need help in correcting. Thank you :)
8 Comments
Stephen23
on 2 Sep 2019
Edited: Stephen23
on 2 Sep 2019
"not enough input arguements"
You did not provide enough input arguments when calling the function.
As you did not post the exact code you tried, we have no idea how many input arguments your function has. Here is the first line of Walter Roberson's function:
function result = neuron1mean(dataset_pfc_tar_57_n1, rowsncolumns, x, y)
% ^^^^^^^^^^^^^^^^^^^^^ 1st input
% ^^^^^^^^^^^^ 2nd input
% ^ 3rd input
% ^ 4th input
[result] = neuron1mean(x,y)
As you can see, Walter Roberson's function requires four inputs, but apparently you only provided two. You should check which function you are calling, and check how many input arguments it has.
Answers (0)
This question is closed.
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!