亚洲AV日韩AV无码污污网站_亚洲欧美国产精品久久久久久久_欧美日韩一区二区视频不卡_丰满无码人妻束缚无码区_久爱WWW成人网免费视频

切換到寬版
  • 廣告投放
  • 稿件投遞
  • 繁體中文
    • 8718閱讀
    • 3回復(fù)

    [分享]讓Matlab高效率運(yùn)行的技巧 [復(fù)制鏈接]

    上一主題 下一主題
    在線cyqdesign
     
    發(fā)帖
    28799
    光幣
    95023
    光券
    0
    只看樓主 倒序閱讀 樓主  發(fā)表于: 2008-10-17
    關(guān)鍵詞: Matlab
    用過Matlab的人都知道,Matlab是一種解釋性語言,存在計(jì)算速度慢的問題,為了提高程序的運(yùn)行效率,matlab提供了多種實(shí)用工具及編碼技巧。 SPXv i0Jg  
    tzv4uD]  
    1. 循環(huán)矢量化 ZCV i ZWo  
    :(wFNK/0{  
      Matlab是為矢量和矩陣操作而設(shè)計(jì)的,因此,可以通過矢量化方法加速M(fèi)文件的運(yùn)行。矢量化是指將for循環(huán)和while循環(huán)轉(zhuǎn)換為等價(jià)的矢量或矩陣操作。下面給出一個(gè)循環(huán)的例子: 1 b 86@f   
    ~Z!YB,)bp  
    i=0; [ D.%v~j  
    "eqzn KT%u  
    for n = 0:0.1:1000 /V63yzoY  
    EB*C;ms  
        i=i+1; boHbiE  
    A=IpP}7J  
        y(i)=cos(n);  !Q*w]  
    >\w]i*%  
    end *ra>Kl0   
    ?~4x/d%  
    那么我們可以矢量化為: O6vxp?:^  
    P|Gwt&  
    n= 0:0.1:1000; >]_^iD]*t  
    j--byk6PB  
    y=cos(n); t 7o4 aBl"  
    XH@(V4J(.  
    我們可以用tic和toc函數(shù)來查看上述各代碼運(yùn)行的時(shí)間,采用for循環(huán)的程序0.39秒(具體時(shí)間和計(jì)算機(jī)配置有關(guān)),而矢量化后幾乎耗時(shí)為0。 ([}08OW@  
    x^1d9Z  
    2. 給數(shù)組或矩陣預(yù)分配內(nèi)存 &0tW{-Hv"  
    H%gAgXHn  
        特別是使用大型數(shù)組或矩陣時(shí),Matlab進(jìn)行動(dòng)態(tài)內(nèi)存分配和取消時(shí),可能會(huì)產(chǎn)生內(nèi)存碎片,這將導(dǎo)致大量閑置內(nèi)存產(chǎn)生,預(yù)分配可通過提前給大型數(shù)據(jù)結(jié)構(gòu)預(yù)約足夠空間來避免這個(gè)問題。 K&Bbjb_|  
    MtaGv#mJ  
    3. 用函數(shù)代替腳本文件 Z)