- normal
- poisson
- binomial
- uniform
a = rand(1, 11);
b = sort(a);
c = b(1, ceil(end/2));
- median
- mode
- mean
- margin
- execution time
- command history
- errors
- the value of variables
- A
a = 0;
do
a = a + 1;
while a < 5
end
- B
a = 0;
while(a < 5)
a = a + 1;
- C
a = 0;
while a < 5:
a = a + 1;
- D
a = 0;
while a < 5
a = a + 1;
end
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
- A
b =
56 0
9 8
- B
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?
- A
t = cputime(myfun());
- A
tic;
myfun();
toc;
- C
timer.start;
myfun()
t = timer.stop;
- D
t = timer(myfun());
- argument placeholder
- block quotes
- code sections
- conversion specifier
- 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'}
- basic imaginary unit
- index function
- infinity
- index variable
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)
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
- A
x = 7;
switch x
case 2
disp("two");
otherwise
disp("not two");
end
- B
x = 7;
switch x :
case 2
disp("two");
otherwise
disp("not two");
end
- C
x = 7;
switch x
case 2
disp("two");
else
disp("not two");
end
- D
x = 7;
switch x
case 2
disp("two");
default
disp("not two");
end
a = 1;
b = 2;
c = 3;
d = 4;
e = c / (~a - b == c - d);
- Error
- B
c =
NaN
- C
c =
Inf
- D
c =
-0.2500
- 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.
- A
f10 = 1;
for i = 1:10
f10 = f10 * i;
end
- B
f10 = factorial(10)
- C
f10 = 1;
i = 1;
while i <= 10
i = i + 1;
f10 = i * f10;
end
- D
f10 = prod(1:10)
- A
a = rand(5);
round(a * inv(a))
- B
diag(ones(5, 1))
- C
identity(5)
- D
eye(5)
dog =
name: 'Bindy'
breed: 'border collie'
weight: 32
- A
dog = struct('name', 'Bindy'; 'breed', 'border collie'; 'weight', 32);
- B
dog.name = 'Bindy';
dog.breed = 'border collie';
dog.weight = 32;
- C
dog = {
'name' : 'Bindy',
'breed' : 'border collie',
'weight': 32;
}
- D
dog('name') = 'Bindy';
dog('breed') = 'border collie';
dog('weight') = 32;
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
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]}};
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];
- A
for i = 1:length(fruit)
fruit{i}(fruit{i} == a) == o;
end
- B
for i = 1:length(fruit)
fruit(i)(fruit(i) == 'a') == 'o';
end
- C
for i = 1:length(fruit)
fruit{i}(fruit{i} == 'a') == 'o';
end
- D
for i = 1:length(fruit)
fruit{i}(fruit{i} == 'a') == 'o';
- 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]);
menu = {'hot dog' 'corn dog' 'regular burger' 'cheeseburger' 'veggie burger'}
- menu{strfind(menu, 'burger')}
- menu(strfind(menu, 'burger'))
- menu{contains(menu, 'burger')}
- menu(contains(menu, 'burger'))
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
- 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.
a = 1:10;
- b = a(a ~= 11)
- b = a(a == 1)
- b = a(a>6 && a<9)
- b = a(a | 1)
menu = {'hot dog' 'corn dog' 'regular burger' 'cheeseburger' 'veggie burger'}
menu_string =
'hot dog
corn dog
regular burger
cheeseburger
veggie burger'
- menu_string = cell2mat(join(menu, newline))
- menu_string = cell2mat(join(menu, '\n'))
- menu_string = join(menu, newline)
- menu_string = cell2mat(pad(menu))
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');
- B
rng(time());
rng_settings_curr = rng();
- C
rng_settings_curr = rand('shuffle');
- D
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');
- .
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'};
- contains(password, '\d')
- ~isempty(regexp(passwords, '\d'))
- cellfun(@(x) ~isempty(regexp(x, '\d')), passwords)
- regexp(passwords, '\d')
- title
- text
- label
- legend
-
figure
x = rand(10,10);
r = corrcoef(x);
surf(r)
colorbar
-
figure
x = rand(10,10);
r = corrcoef(x);
imagesc(r)
colorbar
- 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));
a = 'stand'
b = "stand"
- a == b
- ischar(b)
- length(a) == length(b)
- class(a) == class(b)
C = {'dog' 'cat' 'mouse'}
D = {'cow' 'piranha' 'mouse'}
E = setdiff(C,D)
- E = {'cat'} {'dog'}
- E = {'mouse'}
- E = {'cat'} {'cow'} {'dog'} {'piranha'}
- E =
- 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
- :
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)
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)
Q50. For a 5 x 5 array, the two subscript index (4,2) indexes the same location as linear index ___
.
- 7
- 8
- 17
- 9
- 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.
- 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
- :
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
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
- :
a =
5
7
- :
a =
6
7
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]);
-
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.
a = [1 2 3];
b = repmat(a,2,3);
- 1x3
- 3x2
- 2x3
- 2x9
a = [ 1 2 3 4];
- reverse(a)
- a(end:- 1:1)
- rev(a)
- a(::-1)
-
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
Q63. You wrote a new function named snap
in an m-file and when you call it, you're not getting the output you expect. You previously wrote a different function named snap
, which you think might also be on the search path. Which command can you use to see if the old snap
function is being called?
- which
- who
- lookfor
- what
- to ensure backward compatibility
- to avoid HDF5 overhead in MAT-file
- to include a variable greater that 2GB
- to use compression by default
- the path function
- the savepath function
- using Set Path in the Environment menu
- the addpath function
- mesh
- surf
- contour
- grid
- to use compression by default
- to ensure backward compatibility
- to include a variable greater than 2GB
- to avoid HDF5 overhead in MAT-file
-
a = randn(1,1000); histogram(a) ylabel('counts')
-
a = rand(1,1000); histogram(a) ylabel('counts')
-
a = randi(1,1000); histogram(a) ylabel('counts')
-
a = rng(1,1000); histogram(a) ylabel('counts')
- && is a logical operator and & is not.
- && is always slower than &
- && employs short-circuiting behavior and & does not.
- && is a bitwise operator and & is not.
s="abcd"; s(3)='x'
- "abxd"
- abxd
- a 1x 3 string array
- a run-time error
- You want to count the number of input arguments.
- You want to include optional input arguments.
- You want the workspace variable names of the input arguments.
- You want the data types of the input arguments.
c = [9 8 0];
d = [0 0 1];
e = union(c,d);
-
e = [0 0 1 9 8 0]
-
e = [9 8 0 0 0 1]
-
e = [0 1 8 9]
-
e = [1 8 9]
a = 1;
for i_loop = 1:6
disp(a);
end
- :
111111
- :
1 1 1 1 1 1
- :
1
1
1
1
1
1
- :
nothing will print
Q74. You are debugging a function and have set a breaipoint on the line before the error occurs. You look at the variable values and suspect the cause of the error is that a is 9 but should be 10. The next statement after the breakpoint will use a. Wigh action would help you test if a=10 solves the problem?
- type "a=10;" into the function file, before the statement that's throwing an error. Then click the Run button in the debugger window.
- Type "a=10; continue;" into the command window
- Type "a=10;" into the command window. Then click the Run button in the debugger window
- Type "a=10;" into the function file, before the statement that's throwing an error. Then type "return;" into the command window
b = ['stand' 'alone'];
- b(7:11)
- b(2)
- b(6:end)
- b(1,2)
c = {rand(20,10) rand(23,2) rand(14,5)}
- :
b = cellfun(@(m) mean(m(:)), C
- :
b = zeros(1, size(C,1);
for i_C = 1:size(C,1)
b(1_C) = mean(C{i_C}(:));
end
- :
b = cellfun(@mean, C)
- :
b = zeros(1, size(C,2);
for i_C = 1:size(C,2)
b(1_C) = mean(C(i_C));
end
- :
if (a > 1):
b = 2;
else:
b = 3;
- :
if (a > 1){
b = 2;
} else{
b = 3;
}
- :
if (a > 1)
b = 2;
else
b = 3;
end
- :
if (a > 1)
b = 2;
else
b = 3;
a = [9 8 8 19 6 1 9 6 6 19];
b = unique(a);
-
b = [1 6 8 9 19]
-
b = [1 6 8 9]
-
b = [1 6 6 6 8 8 9 9 19 19]
-
b = [1 6 6 8 8 9]