如何在MATLAB中实现一组?

104(30天)
乔纳森·迈耶
乔纳森·迈耶 2016年6月23日
回答: 乔纳森·迈耶 2016年6月24日
在下面的算法中,您可以看到有一个变量,C,初始化为空集。我会如何创建一组在MATLAB ?因为这个困惑我不清楚如何代码行5和7的算法。此外,我不清楚如何实现条件在13号线。最好的方法来实现这个逻辑是什么?

接受的答案

乔纳森·迈耶
乔纳森·迈耶 2016年6月24日
谢谢你的回复。我到达我需要什么,希望它将来会帮助任何人浏览这篇文章。
首先,每个词都是一组不同所以C可以(mx *我+ 1)* n矩阵的零,每一行将一组不同的词。
C = 0 (mx *我的+ 1,N);
接下来,5和7的逻辑线可以被编码为低于col_t和col_f列的指标分别改变当条件为真或假。他们是在for循环初始化为1。
% %第5行
行=(张)* mx + j;
C(行,col_t) = n;
col_t = col_t + 1;
% %第7行
行= mx * + 1;
C(行,col_f) = n;
col_f = col_f + 1;
最后,在第11行和for循环第12行之前,你可以用下面的代码提取子集:
Ci = C(我);
和13号线的条件将提多回答说:
如果ismember (n, Ci)

更多的答案(2)

沃尔特·罗伯森
沃尔特·罗伯森 2016年6月23日
如果你想要一个真实的,在这个意义上的无序集合最多可以有一个“复制”的任何给定的值,那么您可以使用一个向量的 联盟 setdiff 操作符。

提多Edelhofer
提多Edelhofer 2016年6月23日
你好,
如果我看错,你的“设置”是一组数字?在这种情况下,你可能只是在MATLAB中使用一个向量。在这种情况下,空集
C = [];
测试如果一个元素的“设置”,使用函数ismember,所以13号线会读
如果ismember (n, C)
提多提多
1评论
乔纳森·迈耶
乔纳森·迈耶 2016年6月23日
谢谢你!例如,我可以在第5行代码赋值如下?
指数=(张)* mx + j;
C(指数)= n;

登录置评。

标签

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!