Anonymous Function Array Output

Write a script that contains an anonymous function min_max to find the minimum and the maximum of an array. The output should be returned as a 1D array. The first value contains the minimum, and the second the maximum. The function should make use of internal functions.

6 Comments

Zhuoyi - what have you tried so far? You have posted what appears to be your assignment but have not described what you have attempted. Please clarify which part of the question that you need help with, discussing what you have tried and what is preventing you from moving forward.
I tried the following code, but it seems not working.
x = rand(1,10);
min_max = @(x) deal(min(x),max(x))
[a,b] = min_max(x)
What is the error message? Your code works for me.
Well, it is a question posted by my teacher online, and the website indicated that the following statement....
Based on the assert tests, it wants:
y = min_max(x)
where
y(1) = minimum of x
y(2) = maximum of x
Yeah, but I don't know how to output an array like that, I mean, using the anonymous function.

Sign in to comment.

Answers (2)

Honglei Chen
Honglei Chen on 26 Oct 2017
You are returning two separate outputs, the instruction says "The output should be returned as a 1D array"
HTH

2 Comments

emmmmmmmm... so what should I do then?
right now you are using deal to separate the outputs into two. What you need to do is instead of that, putting them into an array. for example, [1 2] will be an array consisting of two elements.

Sign in to comment.

% Your code goes here
min_max = @(A) [min(A), max(A)];
%define random array A
A = rand(1,10);
%display minimum and maximum
disp(min(A));
disp(max(A));

Categories

Asked:

on 26 Oct 2017

Answered:

on 4 Feb 2019

Community Treasure Hunt

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

Start Hunting!