matlab如何讓陣列每個元素重複出現

2021-03-08 09:19:43 字數 1845 閱讀 9998

1樓:du瓶邪

辦法如下:

a=[1,3,4,5,6,2,6,8,9]b=unique(a)

c=zeros(size(b));

for e=1:length(b);

c(e)=length(find(b==b(e)));

end由於用到了for和unique,使用時效率可能很低!

2樓:匿名使用者

程式如下,重複5次

a = [1 2 3 4 5];

repeat = 5;

tmp = repmat(a, repeat, 1);

b=reshape(tmp, 1, length(a)*repeat);b

3樓:酆寄柔脫量

unique函式用來去除矩陣a中重複的元素,比如說a=[1,2,3,3,4],那麼unique(a)=[1,2,3,4];

如果a=[1,2,3;3,4,5],那麼unique(a)=[1,2,3,4,5];

unique(a,'rows')用來去除矩陣a中重複的行,比如說a=[1,2,3;4,5,6;1,2,3],那麼unique(a,'rows')=[1,2,3;4,5,6];

綜上,如果x=[111

2223

3333],

那麼unique(x)=[1,2,3]。

如何去掉一個陣列的重複元素:陣列去重

4樓:表哥傻叼

可以使用雙重迴圈,逐一對比元素,如有重複,則刪除的方法去重。

其思路為

1、依次遍歷迴圈中的每一個元素。

2、對於任意一個元素,依次與之前的元素進行對比,如果有重複則刪除。

3、刪除操作可以採用將後續元素逐個前移,達到覆蓋當前元素的效果。

在此基礎上可以進行一點優化,即,不需要每次刪除元素均前移所有元素,而是把需要保留的元素放到"應該"放的位置即可,這樣可以提高效率。

以整型陣列為例,參考**如下:

1234567891011121314

int remove_repeat(int *a, int l)//對起始地址為a,長度為l的陣列進行去重,新的長度以返回值形式返回。 return r; //返回新的長度。}

5樓:匿名使用者

function removedop(arr)

matlab怎麼對陣列的每個元素進行處理

6樓:灩麗

1、首先需要雙擊baimatlab軟體

du圖示,開啟zhimatlab軟體,可以看到matlab軟體的介面。

dao2、使用函式rand()建立一內個一維陣列容a。

3、對陣列a進行關係運算,分別獲得陣列b、c。

4、使用符號"&"對陣列b和陣列c進行邏輯與運算。

5、使用符號"|"對陣列b和陣列c進行邏輯或運算。

6、使用符號「~",對陣列a和陣列b進行邏輯非運算。

7樓:匿名使用者

a=[1,2,3,4,5]

for i=1:length(a) %matlab下標從1開始if(a(i)<3 && a(i)>0) %matlab不是來用源中括號引用,而是用()進行引用

a(i)=0;

elseif(a(i)>=3) %matlab中,else if 可以

寫成elseif

a(i)=1;

end %end與if對應

end %end與for 對應

a當然上面這個可以直接用:

a=[1,2,3,4,5]

a=(a>=3)

MATLAB求如何實現陣列輸入,裡面的元素,變成字串標量輸出

s c i max size s for i 1 i c c,s endc matlab裡怎麼讓字串陣列的元素變成變數名 matlab建立字bai符串陣列可以du採取你所說的方式,但必須保zhi證每行的長度dao必須相等專,為此必須給某些屬 行補充空格符來實現長度一致。函式str2mat能夠自動把字...

matlab刪除陣列中滿足一定條件的元素

1 開啟matlab,在命令列視窗中輸入a 1 5 6 7 8 12 14 16 6 3 5 7 建立一個3行4列的a矩陣。2 輸入x find a 10 找到a陣列中大於10的元素的下標。3 按回車鍵之後,可以看到找到大於10的元素下標,下標位置是按一列開始數,一列一列數的。4 輸入a x 將a陣...

matlab中矩陣如何求所有元素的和

可先求列和,然來後將列源和組成的向量轉置,最後再對轉置後的向量求列和。例對矩陣a求所有元素的和,可 sum sum a 例 a 1632 135101189 67124 1514 1 sum sum a ans 136 可先求列和,bai然後將列和組成的向du量轉置,最後再zhi對轉置後dao的向量...