产生单元阵列
我想在 matlab 中生成如下元胞数组:
P= {100;010;000;000;001}
{100;000;010;000;001}
{100;000;000;010;001}
{000;100;010;000;001}
{000;100;000;010;001}
{000;000;100;010;001}
其中 P= {5x3 cell} {5x3 cell} {5x3 cell} {5x3 cell} {5x3 cell} {5x3 cell};
来自 5x3矩阵中,每一列中的模式应该只有一个“1”,并且每个单元格中最后一行的第三列是“1”。
即: P{1}= 100;010;000;000;001
我应该怎么做?
从我到现在为止所做的:
PP=zeros(5,3);
P={1,6};
P={PP,PP,PP,PP,PP,PP};
我怎样才能将它们放入单元格中?
太感谢了
I want to produce a cell array as below in matlab:
P= {100;010;000;000;001}
{100;000;010;000;001}
{100;000;000;010;001}
{000;100;010;000;001}
{000;100;000;010;001}
{000;000;100;010;001}
where P= {5x3 cell} {5x3 cell} {5x3 cell} {5x3 cell} {5x3 cell} {5x3 cell};
from the 5x3 matrix, the pattern should be only one '1' in each column and the third column is '1' at final row in every cell.
i.e : P{1}= 100;010;000;000;001
how should I do that?
From what I had made up till now:
PP=zeros(5,3);
P={1,6};
P={PP,PP,PP,PP,PP,PP};
how can I put the ones in the cell?
thank you so much
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
试试这个:
如果您实际上需要数字(0,10,100),而不是字符串,则代码会短一些:
更新:
根据您的评论,这里是新代码:
如果您需要逻辑矩阵数组只需将第二行中的
zeros
替换为false
即可:Try this:
If you actually need numbers (0, 10, 100), not strings, the code will be a little shorter:
UPDATE:
According your comment, here is the new code:
If you need the array of logical matrices just substitute
zeros
withfalse
in the 2nd line: