how to manage matrix construction?

hi guys
i need a code to construct this matrix, the code should allow the user to insert h1,h2...h(n-1)

 Accepted Answer

How about:
m = circshift(eye(numel(h) + 1), 1, 2)
m(end, 2:end) = h;

2 Comments

this one gave an error
??? Error using ==> circshift Too many input arguments.
You must be using an older version of matlab then.
m = circshift(eye(numel(h) + 1), [0 1])
should work regardless of version

Sign in to comment.

More Answers (1)

Star Strider
Star Strider on 20 Nov 2014
Janny, meet compan. It generates the companion-form matrix you want.

4 Comments

sorry for being late.... i try it but it didn't work...
This isn’t actually a companion form matrix, but it has the form you want:
h = randi(10,1,4); % Create ‘h’ Vector
D = diag(ones(1,length(h)),1);
D(end,:) = [1 h];
the last line came in decimal.... it should be in binary,, it came as:
0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 1 8 10 7 1
how to make it in binary
I have no idea what you’re doing. To make it binary with the randi function, change that line to:
len = 4; % Length of number string
h = randi([0 1],1,len);
To produce a binary string from a decimal number, use the dec2bin function.

Sign in to comment.

Categories

Tags

Asked:

on 20 Nov 2014

Commented:

on 25 Nov 2014

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!