亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

MATLAB中的哈希表

MATLAB中的哈希表

侃侃無極 2019-11-08 10:46:28
MATLAB是否支持哈希表?一些背景我正在研究Matlab中需要圖像的比例空間表示的問題。要做到這一點,我創建一個2-d高斯濾波器具有方差sigma*s^k為k在一定范圍內。,然后我使用依次每一個來過濾所述圖像。現在,我想要某種映射k到已過濾的圖像。如果k始終是整數,則只需創建一個3D數組即可:arr[k] = <image filtered with k-th guassian>但是,k不一定是整數,所以我不能這樣做。我想做的是保留一個ks 數組:arr[find(array_of_ks_ = k)] = <image filtered with k-th guassian>乍看之下似乎還不錯,除了我可能會使用大約20或30的值進行數千次查找k,而且我擔心這會影響性能。我想知道是否最好用某種哈希表來完成此操作,以便查找時間為O(1)而不是O(n)?,F在,我知道我不應該過早地進行優化,并且我可能根本不會遇到這個問題,但是請記住,這僅僅是背景,并且在某些情況下,這實際上是最好的解決方案,無論它是否是最佳解決方案。解決我的問題的最佳方法。
查看完整描述

3 回答

?
慕姐4208626

TA貢獻1852條經驗 獲得超7個贊

Matlab不支持哈希表,


為了加快查找速度,您可以刪除find和使用LOGICAL INDEXING。


arr{array_of_ks==k} = <image filtered with k-th Gaussian>

要么


arr(:,:,array_of_ks==k) = <image filtered with k-th Gaussian>

但是,根據我在Matlab上的所有經驗,我從來沒有遇到過瓶頸。


為了加快您的特定問題的速度,建議您使用增量過濾


arr{i} = GaussFilter(arr{i-1},sigma*s^(array_of_ks(i)) - sigma*s^(array_of_ks(i-1)))

假設array_of_ks按升序排序,GaussFilter會基于方差(當然使用2個1D濾鏡)來計算濾鏡掩碼的大小,或者您可以在傅立葉空間中進行濾鏡,這對于大圖像以及方差為等距排列(很可能并非如此)。


查看完整回答
反對 回復 2019-11-08
?
繁花如伊

TA貢獻2012條經驗 獲得超12個贊

考慮使用MATLAB的地圖類:container.Map。這里是一個簡短的概述:


創建:


>> keys = {'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', ...

  'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec', 'Annual'};


>> values = {327.2, 368.2, 197.6, 178.4, 100.0,  69.9, ...

  32.3,  37.3,  19.0,  37.0,  73.2, 110.9, 1551.0};


>> rainfallMap = containers.Map(keys, values)


rainfallMap = 

  containers.Map handle

  Package: containers


  Properties:

        Count: 13

      KeyType: 'char'

    ValueType: 'double'

  Methods, Events, Superclasses

抬頭:


x = rainfallMap('Jan');

分配:


rainfallMap('Jan') = 0;

加:


rainfallMap('Total') = 999;

去掉:


rainfallMap.remove('Total')

檢查:


values = rainfallMap.values;

keys = rainfallMap.keys;

sz = rainfallMap.size;

確認碼:


if rainfallMap.isKey('Today')

    ...

end


查看完整回答
反對 回復 2019-11-08
  • 3 回答
  • 0 關注
  • 1107 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號