how to create type of eye matrix
1 次查看(过去 30 天)
显示 更早的评论
Hello, I have three matrix like:
z1=[5 0 1;7 9 0;10 0 0], z2=[0 1 2;5 8 0;3 9 10] and z3=[81 11 90;12 0 15;20 17 16]. you see that some of values in every matrix are zero. the number of cells that is not zero in z1 is 5 and in z2 is 7 and in z3 is 8. Now I want to make matrix on the basis of the structure of z1, z2 and z3 that has only zero and one like:
[1 1 1 0 1 0 1 0 0(on the basis of z1),0 0 0 0 0 0 0 0 0(on the basis of the number of z2),0 0 0 0 0 0 0 0 0(on the basis of the number of z3);0 0 0 0 0 0 0 0 0(on the basis of the number of z1),0 1 1 1 1 1 1 0 1(on the basis of z2),0 0 0 0 0 0 0 0 0(on the basis of the number of z3);0 0 0 0 0 0 0 0 0(on the basis of the number of z1),0 0 0 0 0 0 0 0 0(on the basis of the number of z2),1 1 1 1 0 1 1 1 1(on the basis of z3)]
Is there any idea and general way to create this matrix?
1 个评论
dpb
2014-6-24
Please format the code/data matrices to be legible...
[1 1 1 0 1 0 1 0 0(on the basis of z1),0 0 0 0 0 0 0 0 0(on the basis of the number of z2),...
I can see that the first vector is
>> [z1(:)~=0].'
ans =
1 1 1 0 1 0 1 0 0
>>
but I see no relationship between the rest and the given relationship. You're saying z2-->zeros(1,numel(z2)).
Need better explanation of the logic.
采纳的回答
Mischa Kim
2014-6-24
编辑:Mischa Kim
2014-6-24
Fatema, use
z_zero = blkdiag(z1(:)~=0,z2(:)~=0,z3(:)~=0)'
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!