matlab里点除,matlab中,一列数除特定坐标的点,其余点全部置零。应如何操作?...

给指定坐标以外的位置赋值,用matlab的矩阵条件索引就好了,这里写一个简短的示范代码,生成30000行1列的矩阵A,内容初始化为随机数,然后随机抽取1200个下标,使不在指定下标上的元素为0,结果放在B矩阵中,再plot一下以展示,以下仅7行代码:

A=rand(30000,1);

zhidingzuobiao=rand(1500,1)*30000+1;

zdzb=unique(floor(zhidingzuobiao));

zdzb=zdzb(1:1200);

nozdzb=unique([[1:30000]';zdzb]);

B=A;

B(nozdzb)=0;

plot(B);

追答

上面的是代码只是大概,不太详细,补充一个详细一点的。

dc445e30f6649a8372b050bc96adcfc8.png

clear all;

N=30000;

M=12000;

O=floor(M/5);

A=ones(N,1);

zdzb=unique(floor(rand(M+O,1)*N+1));

while(length(zdzb)

zdzb=[zdzb;unique(floor(rand(O,1)*N+1))];

zdzb=unique((zdzb));

end;

zdzb=zdzb(1:M);

fig=figure();

ax1=subplot(1,2,1);

plot(A);

ax2=subplot(1,2,2);

A(zdzb)=0;%*A(zdzb);

plot(A);

saveas(gca,'allexceptassign.jpg','jpg');

c3ad2f3398482d905fbb9a0f3e047106.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值