matlab可以四维,在Matlab中简化四维规则表:寻址每个维度的行和列

我目前正试图自动生成一组观察值的模糊规则集,每个观察值包含四个值,每个观察值都会对应于一个州(一个很好的例子就是Fisher的虹膜数据)。在Matlab中简化四维规则表:寻址每个维度的行和列

在Matlab中,我创建了一个四维规则表,其中一个单元格(a,b,c,d)将包含相应的状态。为了减少表格,我遵循行和列相似性检查的Hong and Lee方法,但我很难理解如何解决第三和第四维的行和列。从这个方法来看,我的理解是每个维度都是单独处理的,如果规则是真的,表格就会被简化。对于合并的规则如下:

如果在相邻的列或行中的所有小区是相同的。

如果两个单元格相同或者它们中的任何一个在相邻的

列或行中为空,且两者中的至少一个单元格 不为空。

如果列或行中的所有单元格均为空,且其两个相邻列或行的两个单元格相同,则合并这三个单元格。

如果列或行中的所有单元都为空,且其两个相邻列或行中的单元格相同,或者它们中的任何一个为空,则合并 这三个。

如果某列或行的所有单元格是空的,如果所有的非空

细胞的行或列在它的左边 具有相同的地区,并在列或行中的所有 非空单元格 右边有相同的区域, 但是与前面提到的 区别不同,将这三个 列合并为两部分。

现在为混乱的位。简单地检查整行/列是否与相邻(规则1)相同似乎很简单:

if (a,:,:,:) == (a+1,:,:,:)

(:,b,:,:) == (:,b+1,:,:)

(:,:,c,:) == (:,:,c+1,:)

(:,:,:,d) == (:,:,:,d+1)

这是正确的吗?

但要检查行/列中的元素是否匹配,或者是否为零(规则2和4),我有点丢失。难道是这些方针的东西:

for a = 1:20

for i = 1:length(b)

if (a+1,i,:,:) == (a,i,:,:)

...

else if (a+1,i,:,:) == 0

...

else if (a,i,:,:) == 0 etc.

和第三和第四维度:

for c = 1:20

for i = 1:length(a)

if (i,:,c,:) == (i,:,c+1,:)

...

else if (i,:,c+1,:) == 0

...

else if (i,:,c,:) == 0 etc.

for d = 1:20

for i = 1:length(a)

if (i,:,:,d) == (i,:,:,d+1)

...

else if (i,:,:,d+1) == 0

...

else if (i,:,:,d) == 0 etc.

即使四维阵列的任何帮助将是有益的,因为我通过这样的思想困惑超过三个!我建议你看看这篇论文来理解我的意思 - 他们自己已经使用了虹膜数据,但只给出了2D表的例子。

2010-06-01

Cate

+0

是“空”与== 0相同吗?在Matlab中,它们是不同的 –

2010-06-02 00:52:18

+0

“空”的含义是规则表中该位置的单元不包含状态值,因此在这种情况下为空== 0. –

2010-06-02 10:42:30

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值