matlab删除向量几个元素,如何在Matlab中替换向量中的多个元素?

如果你真的想要一个“abitrary”替换,那么原始值和替换值之间没有直接关系,你可以使用ismember:

>> map = [4 1; 15 2; 9 3; 7 4];

>> [~, loc] = ismember(a, map(:,1));

>> a(:) = map(loc,2)

a =

1 1 2 2 3 3 4 4

根据您的大型背景,您可能需要检查唯一性,因为您似乎在做类似的事情.在这种情况下,例如:

>> [~,~,a2] = unique(a, 'stable')

a2 =

1 1 2 2 3 3 4 4

这适用于您的示例,并且不需要您构建地图,因为它根据外观顺序使其成为自己的地图.

或者,如果您的Matlab版本早于unique的’stable’属性,那么

>> [~,~,a2] = unique(a)

a2 =

1 1 4 4 3 3 2 2

这与您的替换相似,尽管这些数字是指a中不同元素的排序列表中每个元素的索引,而您的示例似乎使用未排序的索引 – 尽管这可能只是您示例的任意选择.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值