2016-08-02 221 views
0

我有一個訂單矩陣363 X 726。現在我想刪除列主要格式的最後1394個元素,以便我可以使用MATLAB將它重新排列爲512 X 512矩陣。簡而言之,我想執行在我之前的問題中看到的操作的逆轉:How to resize an image by adding extra pixels using matlab。我怎樣才能在MATLAB中做到這一點?如何刪除matlab中矩陣的最後n個元素?

+0

你如何確定要去除哪些1394元素?行主?列優先?隨機?任意?如果信息很重要呢? – excaza

+0

不是特定的行或列,而是矩陣中的最後1394個元素,爲什麼因爲(363 * 726 = 263538) - (512 * 512 = 262144)= 1394.所以我想刪除最後1394個元素以匹配矩陣維度。該矩陣與圖像有關,所以如果我刪除了隨機元素,信息將會丟失。當然,我不需要這些最後的元素,因爲它們是由我自己手動添加用於某些操作。@excaza – sai

+0

「last」沒有具有多於一個維度的數組的具體含義,因此問題請參閱下面的示例代碼: – excaza

回答

2
A = rand(363,726);  % matrix of random elements with size 363x726 
A(end-1393:end)=[] ;  % removing last 1394 elements 
A = reshape(A,[512 512]); % Rearranging it into 512 rows and 512 columns 
+0

謝謝@Sardar_Usama – sai

3

假設你要操作你的矩陣稱爲B,你也可以只是做B = reshape(B(1:512*512), 512, 512);。不需要臨時變量,並且刪除最後的1394個元素對於索引是隱含的。

+0

謝謝! @rayryeng – sai

+0

@sai沒問題。只要你準備好了,請記住接受我們的答案,讓社區知道你不再需要幫助。祝你好運! – rayryeng

相關問題