Create matrix with double rows of [-1 1]
1 次查看(过去 30 天)
显示 更早的评论
Hey guys, I want to create a matrix which looks the following:
-1 0 0 0
1 0 0 0
0 -1 0 0
0 1 0 0
0 0 -1 0
0 0 1 0
0 0 0 -1
0 0 0 1
and so on. Does anyone know a good way to do that? Maybe there is a helpful command for that :)
Thanks a lot :)
Oh, sorry, an edit:
I would also have an even more complex matrix, which would look the following...
0 0 0 0
-1 0 0 0
0 1 0 0
0 -2 0 0
0 0 2 0
0 0 -3 0
0 0 0 3
0 0 0 -4
Any suggestions? :)
0 个评论
采纳的回答
更多回答(2 个)
Andrei Bobrov
2014-7-10
1.
out1 = kron(eye(4),[-1;1]);
2.
out2 = kron(eye(4),[1;1]);
out2(out2>0) = bsxfun(@plus,[1;-1]*(1:4),[-1;0]);
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!