回 帖 发 新 帖 刷新版面

主题:请问大家怎样把matrix中的0都变为1

谢谢了.

=========================================
问题想出来了.

x = [1 0 0 1 1 0 1 0 ...];
for i=1:length(x)
if x(i)==0;
x(i)=1
end
end

回复列表 (共5个回复)

沙发

MATLAB中不推荐这样做,效率很低。
这样:
x(x==0)=1;

板凳

[quote]MATLAB中不推荐这样做,效率很低。
这样:
x(x==0)=1;[/quote]
这个怎么知道 维数??

3 楼

这是逻辑索引用法。

4 楼

>> a=round(rand(5))

a =

     0     0     1     1     1
     0     1     1     1     1
     1     0     0     0     1
     0     0     0     0     0
     0     1     1     0     0

>> a(find(a==0))=1

a =

     1     1     1     1     1
     1     1     1     1     1
     1     1     1     1     1
     1     1     1     1     1
     1     1     1     1     1

5 楼

有這麼難嗎?!

不就
x=x==0

我来回复

您尚未登录,请登录后再回复。点此登录或注册