Re: [討論] 預先宣告已回收

看板MATLAB作者 (鋼琴中的大賦格)時間14年前 (2011/06/14 12:55), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
※ 引述《mydas (不是一朝一夕)》之銘言: : 想請問一個warning的問題 : 一般來說當在寫程式的時候 : 通常我會有預先宣告這個變數的習慣 : 講宣告可能不太正確 意思是指說 : 我會預先指定一個固定大小矩陣給這個變數 : 但是matlab會在這一行出現紅線, 說指定的值沒有被使用 : ex: : A= zeros (X,Y); : A=imflipr(B) ; % B是內建一個已知函數 or others.. 我猜MATLAB是這樣的 在imflipr內已經先產生一個暫時的變數A0 然後再令A = A0 如果你的A事先定義好 MATLAB反而還要比較 A 和 A0的大小來決定需不需要改變矩陣大小 如果A沒有定義 反而不需要這個檢查步驟 : 通常會在A=zeros(X,Y)出現警告行 說指定的值並沒有被使用 : 不過就我所知, 變數預先被宣告大小 不是應該會比較快嗎? : 所以不是很懂這一行的WARNING意義是.. ? : 我知道這個warning 不會影響結果 只是誠心請教好的coding style.. : 謝謝 通常速度比較快的是這種情形 % X = zeros(1, 10); for ii = 1 : 10 X(ii) = ii; end 這時候X如果長度有定義 存取X(ii) 就反而不需要動態增加矩陣長度 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.19.216
文章代碼(AID): #1Dzkd4pO (MATLAB)
討論串 (同標題文章)
文章代碼(AID): #1Dzkd4pO (MATLAB)