# Write a function called mystaff that takes one input matrix called S. S is an n-by-m matrix whose elements are salaries. Salaries.xlsx Doesn't return a value How do I use my function to find average salary of principe: principle >= 140000.

조회 수: 2 (최근 30일)
Khalid Tewfik 2016년 10월 24일
편집: Kirby Fears 2016년 10월 24일
Here's what I have so far
filename = 'Salaries.xlsx';
function mystaff(S)
if nargin~=1
error('This program takes one input matrix argument')
end
if ~isscalar(S)
error('S must be scalar')
end
pmat = S >= 140000;
p = S(pmat)
meanp = mean(p)
end
##### 댓글 수: 5이전 댓글 3개 표시이전 댓글 3개 숨기기
Khalid Tewfik 2016년 10월 24일
The type is double and size is 10 10
KSSV 2016년 10월 24일
Try this:
function ArmStrong(S)
if nargin~=1
error('This program takes one input matrix argument')
end
if isscalar(S)
error('S must be a vector')
end
pmat = S >= 140000;
p = S(pmat)
meanp = mean(p)
end

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

### 답변 (1개)

Kirby Fears 2016년 10월 24일
편집: Kirby Fears 2016년 10월 24일
Khalid,
I suspect you are pressing the "Run" button with your function file open.
Your function needs to return the final value as an output argument. So first off, change the function file to this and save it as a separate file named mystaff.m:
function meanp = mystaff(S)
if nargin~=1
error('This program takes one input matrix argument')
end
if ~isscalar(S)
error('S must be scalar')
end
pmat = S >= 140000;
p = S(pmat)
meanp = mean(p)
end
To call your function, make a new script and put your code to be executed in that script. From what you've shown, it would be like this:
filename = 'Salaries.xlsx';
meanp = mystaff(S); % calls the mystaff function by passing in S
Let us know if this works for you or what further issues you are encountering.

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

### 카테고리

Help CenterFile Exchange에서 Fluid Dynamics에 대해 자세히 알아보기

### Community Treasure Hunt

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

Start Hunting!

Translated by