Skip to content

Latest commit

 

History

History
executable file
·
1197 lines (886 loc) · 22.7 KB

matlab-quiz.md

File metadata and controls

executable file
·
1197 lines (886 loc) · 22.7 KB

MATLAB

Q1. From what distribution does the rand() function return value?

  • 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

Reference

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

  • 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

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
  • 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());

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

Q9. Which function could you use for multiple linear regression?

  • polyval
  • regress
  • solve
  • polyfit

Q10. For which of these arrays do mean, median, and mode return the same value?

  • [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.

Q12. How do you access the value for the field name in structure S?

  • 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]

Q17. Which function CANNOT be used to randomly sample data?

  • datasample
  • randi
  • resample
  • randperm

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

  • 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

Q19. What is the result of this code?

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

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?

  • 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)

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

  • A
a = rand(5);
round(a * inv(a))
  • B diag(ones(5, 1))
  • C identity(5)
  • D eye(5)

Q23. Which statement creates this structure?

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;

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 as with os?

  • 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';

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'}

  • menu{strfind(menu, 'burger')}
  • menu(strfind(menu, 'burger'))
  • menu{contains(menu, 'burger')}
  • menu(contains(menu, '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'}
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');

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'};

  • contains(password, '\d')
  • ~isempty(regexp(passwords, '\d'))
  • cellfun(@(x) ~isempty(regexp(x, '\d')), passwords)
  • regexp(passwords, '\d')

Q40. Which is NOT a function that adds text to a plot?

  • title
  • text
  • label
  • legend

Q41. Which code block most likely produced this graph?

MatLab Q39

  • ­
figure
x = rand(10,10);
r = corrcoef(x);
surf(r)
colorbar
  • ­
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
  • :
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.

Q49. Which command will create a 10-element vector v with values from 1 to 10?

  • 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

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

Reference

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

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
  • :
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

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

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

Q65. Which choice cannot add a directory to the search path?

  • the path function
  • the savepath function
  • using Set Path in the Environment menu
  • the addpath function

Reference

Q66. Which is not a function to plot three-dimensional data?

  • mesh
  • surf
  • contour
  • grid

Reference

Q67. What is the reason to save a MAT-file using the v-7.3 flag?

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

Reference

Q68. This graph could be the result of which block of code?

MatLab Q41

  • 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')

Q69. What is a key difference between && and &?

  • && 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.

Reference

Q70. What is the result of this code?

s="abcd"; s(3)='x'
  • "abxd"
  • abxd
  • a 1x 3 string array
  • a run-time error

Q71. In which case would you use varargin in a function you write?

  • 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.

Q72. What does e contain?

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]

Q73. What does this function print?

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

Q75. Which statement returns the character array 'alone'?

b = ['stand' 'alone'];
  • b(7:11)
  • b(2)
  • b(6:end)
  • b(1,2)

Q76. Which statement returns the character array 'alone'?

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

Q77. Which choice uses the proper syntax for an if else statement?

  • :
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;

Reference

Q78. What does b contain?

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]