## MATLAB

• normal
• poisson
• binomial
• uniform

#### Q2. Based on the code below, c is the _ of a.

``````a = rand(1, 11);
b = sort(a);
c = b(1, ceil(end/2));
``````
• median
• mode
• mean
• margin

#### Q3. What does the Profiler track?

• execution time
• command history
• errors
• the value of variables

#### Q4. Which code block contains the correct syntax for a `while` loop?

• [ ]
``````a = 0;
do
a = a + 1;
while a < 5
end
``````
• [ ]
``````a = 0;
while(a < 5)
a = a + 1;
``````
• [ ]
``````a = 0;
while a < 5:
a = a + 1;
``````
• [x]
``````a = 0;
while a < 5
a = a + 1;
end
``````

#### Q5. What does `b` contain?

``````a =
19    20    12     0     6
6     9    56     0     3
46     8     9     8    19
9     8     8    19    46
1     9    46     6    19
``````
• [x]
``````b =

56     0
9     8
``````
• [ ]
``````b =

8    19
19    46
``````

#### Q6. You have written a function `myfun` and want to measure how long it takes to run. Which code segment will return in `t` the time in seconds it takes `myfun` to run?

• [ ]
``````t = cputime(myfun());
``````
• [x]
``````tic;
myfun();
toc;
``````
• [ ]
``````timer.start;
myfun()
t = timer.stop;
``````
• [ ]
``````t = timer(myfun());
``````

#### Q7. What is `%%` used for?

• argument placeholder
• block quotes
• code sections
• conversion specifier

#### Q8. what is the `.` character NOT used for?

• structure field access
• a decimal point
• cell array access
• element-wise operations

• polyval
• regress
• solve
• polyfit

• [0 1 1 1 2]
• [1 3 5 5 6]
• [0 1 1 1 1]
• [0 0 5 5 5]

#### Q11. You are in the middle of a long MATLAB session where you have performed many analyses and made many plots. You run the following commands, yet a figure window doesn’t pop up on the top of your screen with your plot. What might be the issue?

``````x = [-1:0.1:1];
y = X.^2;
plot(x, y)
``````
• Your plot doesn’t plot in a figure window because `figure` was not called immediately in advance.
• Your `plot` syntax is incorrect.
• Your plot is in a figure window that was already open, hidden behind other windows on your screen.
• Your plot was saved to an image file but not displayed.

• S[‘name’]
• S.name
• S(‘name’)
• S{‘name’}

#### Q13. What built-in definition does i have?

• basic imaginary unit
• index function
• infinity
• index variable

#### Q14. Which statement is equivalent to this for loop?

``````a = [1 2 3; 4 5 6];
b = zeros(size(a));
for i_row = 1:size(a, 1)
for i_col = 1:size(a, 2)
b(i_row, i_col) = a(i_row, i_col)^2;
end
end
``````
• b = a*a;
• b = a.^2;
• b = a^2;
• b = pow2(a);

#### Q15. You have plotted values of cosine from -10 to 10 and want to change the x-axis tick marks to every pi, from -3pi to 3pi. Which statement will do that?

• xticks(-3pi:3.14:3pi)
• xticks(-3pi:pi:3pi)
• xticks(linespace(-3pi(), 3pi(), pi()))
• xticks(linespace(-3pi, 3pi, pi)

#### Q16. What is the value of `c`?

``````a = ones(1,3);
b = 1:3;
c = conv(a,b)
``````
• [-1 2 -1]
• [1 3 6 5 3]
• 6
• [1 -2 1]

• datasample
• randi
• resample
• randperm

#### Q18. Which choice is correct syntax for a `switch` statement?

• [x]
``````x = 7;
switch x
case 2
disp("two");
otherwise
disp("not two");
end
``````
• [ ]
``````x = 7;
switch x :
case 2
disp("two");
otherwise
disp("not two");
end
``````
• [ ]
``````x = 7;
switch x
case 2
disp("two");
else
disp("not two");
end
``````
• [ ]
``````x = 7;
switch x
case 2
disp("two");
default
disp("not two");
end
``````

#### Q19. What is the result of this code?

``````a = 1;
b = 2;
c = 3;
d = 4;
e = c / (~a - b == c - d);
``````
• Error
• [ ]
``````c =
NaN
``````
• [x]
``````c =
Inf
``````
• [ ]
``````c =
-0.2500
``````

#### Q20. What is true of a handle class object?

• When you pass a handle object to a function, a new object is made that is independent of the original.
• All copies of handle objects refer to the same underlying object.
• Handle object cannot reference one another.
• Handle object do not have a default `eq` function.

#### Q21. Which choice has a different final result in `f10` than the other three?

• [ ]
``````f10 = 1;
for i = 1:10
f10 = f10 * i;
end
``````
• `f10 = factorial(10)`
• [x]
``````f10 = 1;
i = 1;
while i <= 10
i   = i + 1;
f10 = i * f10;
end
``````
• `f10 = prod(1:10)`

#### Q22. Which choice will NOT give you a 5 x 5 identity matrix?

• [ ]
``````a = rand(5);
round(a * inv(a))
``````
• `diag(ones(5, 1))`
• `identity(5)`
• `eye(5)`

#### Q23. Which statement creates this structure?

``````dog =

name: 'Bindy'
breed: 'border collie'
weight: 32
``````
• `dog = struct('name', 'Bindy'; 'breed', 'border collie'; 'weight', 32);`
• [x]
``````dog.name   = 'Bindy';
dog.breed  = 'border collie';
dog.weight = 32;
``````
• [ ]
``````dog = {
'name'  : 'Bindy',
'breed' : 'border collie',
'weight': 32;
}
``````
• [ ]
``````dog('name')   = 'Bindy';
dog('breed')  = 'border collie';
dog('weight') = 32;
``````

#### Q24. `my_func` is a function as follows. What is the value of `a` at the end of the code beneath?

``````function a = my_func(a)
a = a + 1;
end
------------------
a = 0;
for i = 1:3
my_func(a);
end
a = my_func(a);
``````
• 4
• 3
• 0
• 1

#### Q25. Which statement could create this cell array?

``````c =
{["hello world"]}    {1×1 cell}    {["goodbye"]}    {1×3 double}
``````
• c = {“hello world” {“hello”} “goodbye” [1 2 ]};
• c = {“hello world” {“hello”} “goodbye” {[1 2 3]}};
• c = {“hello world” {“hello”} “goodbye” [1 2 3]};
• c = {“hello world” {“hello” “hello”} “goodbye” {[1 2 3]}};

#### Q26. Which choice adds `b` to each row of `a`?

``````a = ones(4, 4);
b= [1 2 3 4];
``````
• a = a + reshape(b, 4, 1);
• a = a + b’;
• a = a + repmat(b, 4, 1);
• a = a + [b b b b];

#### Q27. Which choice replaces all `a`s with `o`s?

• [ ]
``````for i = 1:length(fruit)
fruit{i}(fruit{i} == a) == o;
end
``````
• [ ]
``````for i = 1:length(fruit)
fruit(i)(fruit(i) == 'a') == 'o';
end
``````
• [x]
``````for i = 1:length(fruit)
fruit{i}(fruit{i} == 'a') == 'o';
end
``````
• [ ]
``````for i = 1:length(fruit)
fruit{i}(fruit{i} == 'a') == 'o';
``````

#### Q28. Which statement returns the roots for the polynomial `x^2 + 2x - 4`?

• poly([1 2 -4])
• solve(x^2 + 2x - 4 == 0)
• polyfit(x^2 + 2x - 4 == 0)
• roots([1 2 -4])

#### Q29. Which choice is the proper syntax to append a new elements `a` to the end of 1x 2 dimensional cell array `C`?

• C = {C a};
• C = cellcat(C a)
• C = cat(2, {a}, C)
• C{end+1}=a

#### Q30. You have loaded a dataset of people’s heights into a 100 x 1 array called `height`. Which statement will return a 100 x 1 array, `sim_height`, with values from a normal distribution with the same mean and variance as your height data?

• sim_height = std(height) + mean(height) * randn(100, 1);
• sim_height = mean(height) + std(height) * randn(100, 1);
• sim_height = randn(std(height), mean(height), [100, 1]);
• sim_height = randn(mean(height), std(height), [100, 1]);

#### Q31. Which statement returns a cell array of the strings containing ‘`burger`’ from `menu`?

`menu = {'hot dog' 'corn dog' 'regular burger' 'cheeseburger' 'veggie burger'}`

#### Q32. What is the set of possible values that `a` may contain?

``````a      = randi(10, [1, 10]);
a(3)   = 11;
a(a>2) = 12;
``````
• 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
• 1, 2, 12
• 2, 11, 12
• 1, 12

#### Q33. Which statement is true about the sparse matrices?

• You can use the `sparse` function to remove empty cells from cell array variables.
• Sparse matrices always use less memory than their associated full matrices.
• Mixtures of sparse and full matrices can be combined in all of MATLAB’s built-in arithmetic operations.
• The `sparse` function requires its input to be a full matrix with at least 50% zero elements.

#### Q34. Which statement using logical indices will result in an error?

`a = 1:10;`

• b = a(a ~= 11)
• b = a(a == 1)
• b = a(a>6 && a<9)
•  [ ] b = a(a 1)

#### Q35. Which statement turns `menu` into the variable `menu_string` below?

``````menu = {'hot dog' 'corn dog' 'regular burger' 'cheeseburger' 'veggie burger'}
'hot dog
corn dog
regular burger
cheeseburger
veggie burger'
``````

#### Q36. Which code snippet sets a new random seed based on the current time and saves the current settings of the random number generator?

• `rng_settings_curr = rng('shuffle');`
• [ ]
``````rng(time());
rng_settings_curr = rng();
``````
• `rng_settings_curr = rand('shuffle');`
• [ ]
``````rng('shuffle');
rng_settings_curr = rng();
``````

#### Q37. You have a matrix `data` in which each column is mono audio recording from a room in your house. You’ve noticed that each column has a very different mean and when you plot them all on the same graph, the spread across the y axis make it impossible to see anything. You want to subtract the mean from each column. Which code block will accomplish this?

• `data_nomean = data - repmat(median(data), size(data, 1), 1);`
• `data_nomean = bsxfun(@minus, data, mean(data));`
• [ ]
``````data_nomean = zeros(size(data));
for i = 1:size(data, 1)
data_nomean(i, :) = data(i, :) - mean(data(i, :));
end
``````
• `data_nomean = zscore(data');`

#### Q38. Which code block results in an array `b` containing the mean values of each array within `C`?

• [ ]
``````b = zeros(1, size(C, 2));
for i_C = 1:size(C, 2)
b(i_C) = mean(C(i_C));
end
``````
• `b = cellfun(@mean, C);`
• [ ]
``````b = zeros(1, size(C, 1));
for i_C = 1:size(C, 1)
b(i_C) = mean(C{i_C}(:));
end
``````
• `b = cellfun(@(m) mean(m(:)), C)`

#### Q39. Which statement creates a logical array that is 1 if the element in `passwords` contains a digit and 0 if it does not?

`passwords = {'abcd' '1234' 'qwerty' 'love1'};`

• title
• text
• label
• legend

#### Q41. Which code block most likely produced this graph? • [ ]
``````figure
x = rand(10,10);
r = corrcoef(x);
surf(r)
colorbar
``````
• [x]
``````figure
x = rand(10,10);
r = corrcoef(x);
imagesc(r)
colorbar
``````

#### Q42. What kind of files are stored with the .mat extension?

• figure files
• script files
• function files
• stored variable files

#### Q43. You would like to randomly reorder every element in array a and put the result into another array b. Which code is NOT necessary to do that?

`a = 1:10;`

• `b = a(randi(10, 1, 10));`
• [ ]
``````m = perms(a);
i = randi(factorial(10), 1);
b = a(m(i, :))
``````
• [ ]
``````[s, j] = sort(rand(10, 1));
b      = a(i);
``````
• [ ]
``````b = a(randperm(10));
``````

#### Q44. Which statement returns 1 (true)?

``````a = 'stand'
b = "stand"
``````
• a == b
• ischar(b)
• length(a) == length(b)
• class(a) == class(b)

#### Q45. Which does E contain?

``````C = {'dog' 'cat' 'mouse'}
D = {'cow' 'piranha' 'mouse'}
E = setdiff(C,D)
``````
• E = {‘cat’} {‘dog’}
• E = {‘mouse’}
• E = {‘cat’} {‘cow’} {‘dog’} {‘piranha’}
• E =

#### Q46. Where in the UI can you see what variables have been created, their values, and their class?

• Editor
• command window
• details
• workspace

#### Q47. Given the following x and y coordinates, which choice calculates a linear regression for the x and y coordinates, and which plots the points of the x,y data and the regression line on the same graph?

``````x = 9.0646 6.4362 7.8266 8.3945 5.6135 4.8186 2.8862 10.9311 1.1908 3.2586
y = 15.4357 11.0923 14.1417 14.9506 8.7687 8.0416 5.1662 20.5005 1.0978
``````
• [x]
``````coeff_line = polyfit(x,y,1)
x_line = floor(min(x)):0.1:ceil(max(x));
y_line = polyval(coeff_line,x_line)

figure; plot(x,y,'o')
hold on
plot(x_linemy_line)
``````
• [ ]
``````figure
plot(x,y,'o')

coeff_line = polyfit(x,y,1);
x_line = floor(min(x)):0.1:ceil(max(x));
y_line = polyval(coeff_line,x_line);
plot(x_line,y_line)
``````
• [ ]
``````figure
plot(x,y)

coeff_line = polyfit(x,y,1);
x_line = floor(min(x)):0.1:ceil(max(x));
y_line = polyval(coeff_line,x_line);
hold on; plot(x_line,y_line)
``````
• [ ]
``````coeff_line = polyfit(x,y,1);
x_line = floor(min(x)):0.1:ceil(max(x));
y_line = polyval(coeff_line,x_line);

figure; plot(x,y,'o')
hold on
plot(x_line,y_line)
``````

#### Q48. If you run this piece of code, you will get an error. Why?

``````a = [0 1 2 3; 4 5 6 7];
a = a^2;
``````
• You are attempting to multiply a non-square matrix by itself, causing a dimension mismatch.
• MATLAB does not allow you to square all the elements in the matrix in a single operation.
• You must use the ** operator instead of the ^ operator.
• You cannot square matrices that have a 0 as the first element.

• v = {1:10}
• v = [1-10]
• v = 1:10
• v = (10)

• 7
• 8
• 17
• 9

#### Q51. What is a difference between global variable and persistent variables?

• Global variables have a higher performance overhead than persistent variables.
• Global variables remain in memory after clear all; persistent variables do not.
• Global variables can be used to cache data in memory; persistent variables cannot.
• Global variables are accessible outside the function scope; persistent variables are not.

#### Q52. How is the random seed for MATLAB’s random number generator first initializedin a MATLAB Session?

• Seed is undefined until it is initialized by the user.
• Seed is set to a value based on the current time when user first calls rand()
• Seed is set to a value based on the current time on startup.
• Seed is set to a static default value on startup.

Reference

#### Q53. At what will MATLAB look first for a called function?

• functions on the path
• built-in functions
• functions within the current file
• functions within the current directory

#### Q54. Which choice is the correct syntax for declaring a function that returns the input value as the output?

• [ ]
``````function mystery_func(a) :
return a
``````
• [x]
``````function b = mystery_func(a)
b = a;
end
``````
• [ ]
``````def b = mystery_func(a)
b = a;
end
``````
• [ ]
``````function mystery_func(a)
b = a;
return b;
end
``````

Reference

#### Q55. What is the state of a at the end of this code?

``````a = [1 2; 3 4];
b = a(:,2);
c = b + 3;
a(1:2,1) = c;
``````
``````a =
6   3
7   4
``````
• [ ]
``````a =
5   2
7   4
``````
• [x]
``````a =
5
7
``````
• [ ]
``````a =
6
7
``````
• [ ]

Reference

#### Q56. You’ve just plotted some data and want to change the color behind the lines you’ve plotted to black. Which code block will accomplish this?

• `h_f = figure; set(h_f,'Color', [0 0 0]);`
• `h_a = gca; set(h_a,'Color', [0 0 0]);`
• `h_a = axes; set(h_a,'Color', [0 0 0]);`
• `h_f = gcf; set(h_a,'Color', [0 0 0]);`

#### Q57. Which statement will return all the odd numbers from 1 to 9?

• `2*[1:5]+1`
• `1:2:9`
• `isodd(1:9)`
• `1:odd:9`

#### Q58. In MATLAB, the `imfilter` command performs a convolution operation between an image and a matrix. Suppose you have an image loaded in MATLAB into the variable `img` and you apply the following code. The original image appears slightly blurred because the convolution smoothed out the image (removed noise). Why do you think this happened?

``````h = ones(5,5)/25;
imshow(imfilter(img,h));
``````
• `h` is a Gaussian filter that adds to 1. Its intended effect is to highlight image edges.
• `h` is an averaging filter uniformly distributed that adds to 1. Its intended effect is to smooth out images (remove noise).
• `h` is a Laplacian filter that adds up to 0. Its intended effect is to smooth out images (remove noise).
• `imfilter` is a function that always blurs the images.

#### Q59. What is the size of `b`?

``````a = [1 2 3];
b = repmat(a,2,3);
``````
• 1x3
• 3x2
• 2x3
• 2x9

#### Q60. Which statement reverses vector `a`?

``````a = [ 1 2 3 4];
``````
• reverse(a)
• a(end:- 1:1)
• rev(a)
• a(::-1)

#### Q61. Which command will create a column vector with the values 7, 8, and 9?

• `c = [7,8,9]`
• `c = [7: 8: 9]`
• `c = [7; 8; 9]`
• `c = [7 8 9]`

#### Q62. What do you call in the command window to see all the variables in the workspace and their classes?

• `who`
• `vars`
• `whos`
• `who all`

• which
• who
• lookfor
• what

#### Q64. What is a reason to save a MAT-file using the `-v7.3` flag?

• to ensure backward compatibility
• to avoid HDF5 overhead in MAT-file
• to include a variable greater that 2GB
• to use compression by default