Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

Solution 144938

Submitted on 5 Oct 2012

Incorrect

20Size
Leading solution size is 21.
This solution is locked. To view this solution, you need to provide a solution of the same size or smaller.

Test Suite

Test
Code Input and Output
1
Fail
 
%%
M = 1;
v = 7;
d = 0;
M2 = 7;
assert(isequal(setDiagonal(M,v,d),M2));
assert(isequal(setDiagonal(M,v),M2));
Error: Not enough input arguments.
2
Fail
 
%%
M = magic(5);
v = 1:3;
d = 2;
M2 = M;
M2([11,17,23]) = v;
assert(isequal(setDiagonal(M,v,d),M2));
Error: Matrix dimensions must agree.
3
Fail
 
%%
M = rand(6);
v = [.2 -.2];
d = -4;
M2 = M;
M2([5,12]) = v;
assert(isequal(setDiagonal(M,v,d),M2));
Error: Matrix dimensions must agree.
4
Fail
 
%%
M = zeros(99);
v = ones(1,99);
d = 0;
M2 = eye(99);
assert(isequal(setDiagonal(M,v),M2));
assert(isequal(setDiagonal(M,v,d),M2));
Error: Not enough input arguments.
5
Fail
 
%%
M = zeros(3);
v = -1:1;
d = 0;
M2 = diag(v);
assert(isequal(setDiagonal(M,v),M2));
assert(isequal(setDiagonal(M,v,d),M2));
Error: Not enough input arguments.