[問題] 不同資料型態迴圈儲存

作者: Fugacious (bibliomania)   2015-08-17 15:25:35
如題
run_length = 0;
new_index_y 是1*64的矩陣裡面放數字
encoded = [];
for i = 1:64
if i < 64 || i ~= 64
if i > 2 || i ==2
if new_index_y(i) == 0
run_length = run_length + 1;
%run_length 用來紀錄0的個數
else
encoded = [ encoded run_length new_index_y(i) ];
% 若i小於64時,encoded 儲存 run_length 跟 newindex_y
run_length = 0;
end
else
encoded = [];
end
else
encoded = [encoded 'EOB'];
end
end
問題出在倒數第三行 encoded = [encoded 'EOB'];
我希望在 i = 64的時候(也就是迴圈執行到最後一個值)
encoded 最後能夠加上三個英文字 EOB
EOB 的目的是end of block
就是newindex_y之後都是零的紀錄
因為之後會用 huffmandict 去做
如果用cell似乎就要用兩次?
總之我希望迴圈跑完最後增加英文字
Error說不同型態的資料不能這樣儲存
請問那我要另外令一個陣列嗎?
用cell儲存encoded{1,1}跟最後的encoded{1,2}
會變成前面東西被存進encoded{1,1}{1,1}{1,1}.........
似乎沒辦法直接像是串接矩陣把 EOB 串接在值後面
作者: celestialgod (天)   2015-08-18 09:28:00
cell的話,要改成用{}不是用[]建議preallocate矩陣大小

Links booklink

Contact Us: admin [ a t ] ucptt.com