matlab中如何把矩陣中非零元素都變為

2021-03-04 09:00:23 字數 2163 閱讀 6807

1樓:匿名使用者

>> a = [-1 0 2;-3 -4 0;9 -78 1]a =-1 0 2

-3 -4 0

9 -78 1

>> a(a~=0) = 1

a =1 0 1

1 1 0

1 1 1

2樓:

a = imread(''abc.png');

imshow(a);

3樓:匿名使用者

sign(abs(x))

matlab中怎樣把矩陣中的0元素替換成1

4樓:兔子和小強

a(a==0) = 1;

5樓:舊舊的咖啡

好吧,這

bai是很笨的方法。

如,du假設呢,你zhi這個矩陣是a(daon*m)clc,clear;

a=;%%%%%%%%%%%%%%%你想變內換的那個矩陣n=size(a,1);

m=size(a,2);

i=1;

j=1;

for i=1:n;

for j=1:m;

if a(i,j)==0;

a(i,j)=1;

endend

end這樣容你試試。

6樓:安北村

直接替換不太具有可重複性,通過程式實現吧:

a=[0 0];

b=[1];

c=for i=0:numel(a)

c=[c b];

endc

matlab中如何把乙個矩陣中非零元素都變為1?

7樓:賣車大王張總

在matlab中,空矩陣、bai零矩陣和全du一矩陣是比較zhi特殊的矩陣,它們在結構形式和dao矩陣元素專的組織上有著獨特屬的規律性。matlab中如何把乙個矩陣中非零元素都變為1的方法是:

1、利用ones(m,n)生成乙個m行n列的全一矩陣。如圖:

2、利用ones(n)生成乙個n階的全一方陣。如圖:

3、>> a = [-1 0 2;-3 -4 0;9 -78 1]a =-1     0     2

-3    -4     0

9   -78     1

>> a(a~=0) = 1

a =1     0     1

1     1     0

1     1     1

8樓:匿名使用者

>> a = [-1 0 2;-3 -4 0;9 -78 1]a =-1 0 2

-3 -4 0

9 -78 1

>> a(a~=0) = 1

a =1 0 1

1 1 0

1 1 1

matlab如何使矩陣中大於某值的元素置零

9樓:匿名使用者

1、思路:

使用布林陣列引用矩陣中所有大於某值的元素,然後將其賦值為0。

2、**:

a(a>10) = 0;  % 將矩陣a中大於10的元素設定為0。

3、示例:

10樓:子衿悠你心

舉個例子,如複果需要將a矩陣中大制於a的元素置零,那麼在matlab中可以這麼輸入:

方法一:a(find(a>a))=0;

方法二:a(a>a)=0;

通過這個**即可實現目標。

例項:將3*3的隨機矩陣a中大於0.5的數置零。

11樓:匿名使用者

比如把乙個n階矩陣k中的所有小於255的數置零.而大於255的數置512?

12樓:匿名使用者

比如要將矩陣a元素大於7的置為0,則可以這樣:

b=find(a>7);%找出大於7的位置

a(b)=0; %將大於7的位置置為0

13樓:匿名使用者

比如矩陣為a,使用a(a>=512)=0

matlab中怎麼把256 256的矩陣分塊成8 8的矩

有很多來中建立方法啊 m zeros 256 建立源0矩陣,但輸入預設二維矩陣,等於zeros 256,256 下同m ones 256 建立全1矩陣 m eyes 256 建立單位矩陣 m rand 256 建立 0,1 隨機矩陣,m magic 256 建立等等 k 1 for i 1 32 f...

matlab矩陣分塊與把分塊矩陣還原

a rand 256,64 將a分塊 b mat2cell a,ones 256 16,1 16,ones 64 16,1 16 b就是所要的分塊矩陣 將分塊矩陣合併 c cell2mat b c就是合併好的專矩陣,即屬c a greatdju已經是正解了,不必老不結題!matlab怎樣將矩陣分塊與...

matlab矩陣求平均值,在matlab中 怎麼計算平均值

用mean a,1 或者mean a,2 函式求矩陣a均值,再用cumsum函式可以累加。具體 如下 a rand 3 a mean a,1 按列平均 b mean a,2 按行平均 c mean a 全部平均 a 0.8134 0.8940 0.28760.7185 0.9507 0.9264 0...