How do I write a function that finds the max, min, mean, median, mode, std, var, and count of an array? call it "mystat"

조회 수: 25 (최근 30일)
function [min,max,mean,median,mode,var,std] = mystat(x) % Enter in an array and mystat will give the min, max, mean, median, mode, % var, and standard deviation of the array.
mean = mean(x) median = median(x) mode = mode(x) var = var(x) std = std(x) count = length(x) end
For some reason this code doesn't work when I try to call it.
  댓글 수: 3

댓글을 달려면 로그인하십시오.

채택된 답변

Steven Lord
Steven Lord 2016년 9월 8일
By specifying your output arguments using the same names as the functions that you need to call to compute those outputs, you make it so MATLAB cannot call those functions. [You can't use the same name as a function and as a variable inside a function.] Change the name of the output arguments, or pack all those outputs into a struct array so that the user of your function doesn't need to call it with seven separate outputs (and doesn't need to remember the order in which you defined your function to return those outputs.)
myout = struct;
myout.mean = mean(x); % etc
  댓글 수: 6
Steven Lord
Steven Lord 2016년 9월 9일
Nowhere in your code do you assign to a variable named k. Either change the name of the struct in which you're storing your outputs from myout to k or change the name of your output argument from k to myout. [Don't do both.]
Kyle Reagan
Kyle Reagan 2016년 9월 9일
I changed it from "function [k]" to "function [myout]" and it worked. Thanks for the help, it's been a year since I've written any functions.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile 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