MATLAB Fundamentals course problem creating a local function

23 vues (au cours des 30 derniers jours)
Ajit Singh
Ajit Singh le 13 Mar 2022
Commenté : Renee Coetsee le 15 Juin 2023
Hi , I was trying to complete the MATLAB fundamentals course and I encountered a probel in chapter 15 .1 last part "Create and call a local function" . I followed the isntructions and my answer was just like the solution provided , I even tried copy pasting the solution cell-wise but the answer cannot pass the last test, i.e., "Is pp calculated from the function paretoperc?" . Someone please help me with it. I skipped it for now and completed the rest of the course and now my progress is stuck at 99%.
  3 commentaires
Ajit Singh
Ajit Singh le 13 Mar 2022
Thankyou, I am attaching the screenchot the the page, help me figure out how to pass the last test.
SANJEEV PERUMAL R S
SANJEEV PERUMAL R S le 25 Mai 2023
use this -
pp=paretoperc(medals)

Connectez-vous pour commenter.

Réponses (3)

Renee Coetsee
Renee Coetsee le 15 Mar 2022
Modifié(e) : Renee Coetsee le 15 Mar 2022
There is an issue with this task. You can resolve the issue by adding clear in the very first line of the script.
More information can be found here:
  13 commentaires
Ibrahim
Ibrahim le 15 Juin 2023
Hi Renee. Please find attached
Renee Coetsee
Renee Coetsee le 15 Juin 2023
Hi Ibrahim, thanks for sharing your code.
You created the function correctly but you also need to use the function by adding this line of code above the function:
pp = paretoperc(medals);
If you click "See Solution" you can see the whole script. I hope this helps!

Connectez-vous pour commenter.


Image Analyst
Image Analyst le 13 Mar 2022
Modifié(e) : Image Analyst le 13 Mar 2022
Maybe it really wants "medals" (like it said) for the input argument rather than "x" like you put.
Attach your code if you want us to run it. (I don't want to type all that in.)
  3 commentaires
Ajit Singh
Ajit Singh le 13 Mar 2022
load medalcounts bronzes silvers golds medals
histogram(medals)
xlabel("Medal count")
ylabel("Number of teams")
paretoperc(medals);
function pp = paretoperc(medals)
% Cumulative contribution of data points (in order)
cc = cumsum(sort(medals(:),"descend")); % (:) to ensure column vector
cc = 100*cc/cc(end); % Normalize to percentage
% Corresponding percentiles (column vector to match cc)
pct = (1:numel(medals))';
pct = 100*pct/numel(pct); % Normalize to percentage
% Find the number of data values needed so that
% P% of the data is in (100-P)% of the values
idx = find(cc >= (100-pct),1,"first");
pp = cc(idx);
end
Ajit Singh
Ajit Singh le 13 Mar 2022
Modifié(e) : Ajit Singh le 13 Mar 2022
the contents of medal were the follwoing , (I don't know how to save that file to my pc so I copied it from the workspace)
113
88
58
65
71
46
36
33
37
40
24
21
20
15
20
20
14
11
10
8
9
17
9
13
11
8
7
9
7
6
5
5
8
12
13
4
4
3
4
4
3
2
2
19
7
4
4
7
6
4
4
3
7
6
5
4
4
2
2
2
2
2
1
1
1
5
7
5
4
3
4
3
3
2
2
2
1
1
1
1
1
1
8
4
2
1
1
1
1
1
1
1
1

Connectez-vous pour commenter.


Image Analyst
Image Analyst le 13 Mar 2022
You need to give us medalcounts
load medalcounts bronzes silvers golds medals % Load them in.
% Now save them out.
save('medalcounts.mat', 'bronzes', 'silvers', 'golds', 'medals');
then attach it with the paperclip icon.
  4 commentaires
Image Analyst
Image Analyst le 13 Mar 2022
I guess you would have to dl
load medalcounts bronzes silvers golds medals % Load them in.
% Now save them out to a file in the local C drive root folder.
save('c:\medalcounts.mat', 'bronzes', 'silvers', 'golds', 'medals');
Anyway, glad it's working.
Steven Lord
Steven Lord le 14 Mar 2022
The first sentence of the task states "Make the code in the Task 1 section into a local function called paretoperc, where medals is the input and pp is the output." Originally you had created a local function paretoperc and had it accept an input named medals, but your function call did not assign its output to a variable named pp. In your most recent attempt you added the missing output argument.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Programming dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by