Write a function called threshold2 (in a file called 'threshold2.m'). The function takes an arbitrary number of input variables. The first input variable, t, is required and is the threshold value. The remaining arguments are arbitrarily sized arrays. The function should return the same number of output variables as there are input arrays to threshold.

Each of the output variables should have the same elements as the corresponding input variable, except in every position where an input value is less than or equal to the threshold t, there should be a 0.

If the user doesn't specify enough output variables when calling this function, the function should generate a MATLAB error with a descriptive error message.

If the user doesn't specify enough input variables to fill all of the output variables requested, the remaining output variables should be set to NaN and a warning messaging (just using disp) should be displayed by the function.

Sample runs of this program might look like this:

>> z = 1:5;

>> a = threshold2(3,z)

a = 0 0 0 4 5

>> y = 1:6;

>> [a b] = threshold2(4,z,y)

a = 0 0 0 0 5

b = 0 0 0 0 5 6

>> [a b c] = threhold2(4,z,y)

a = 0 0 0 0 5

b = 0 0 0 0 5 6

c = NaN

>> a = threshold2(4,z,y)

?? Error using ==> threshold2

Not enough output variables.

Be sure to properly comment your code.

From within 'hw4.m' write a series of expressions that demonstrate the threshold2 function being executed on at least three different sets of non-error generating input. Be sure to demonstrate the case when more ouput variables are present than corresponding input variables.

Finally, execute the threshold2 function with a threshold value plus three input variables but set it equal to only two output variables. Catch the error that your function should have generated such that the script doesn't stop executing and extract the message that was associated with that error. Use the display function to display the error message and then set all of the original output variables equal to NaN