成人女人看片免费视频放人_亚洲色精品三区二区一区_欧美亚洲国产精品久久_成人无遮挡裸免费视频在线观看_97SE亚洲国产综合在线_精品久久久久久777米琪桃花_天天躁日日躁很很很躁_色噜噜狠狠一区二区三区果冻_国产免费久久精品国产传媒_67194成是人免费无码

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

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

    上一主題 下一主題
    在線cyqdesign
     
    發(fā)帖
    29539
    光幣
    98126
    光券
    0
    只看樓主 倒序閱讀 樓主  發(fā)表于: 2008-10-17
    關(guān)鍵詞: Matlab
    用過Matlab的人都知道,Matlab是一種解釋性語言,存在計(jì)算速度慢的問題,為了提高程序的運(yùn)行效率,matlab提供了多種實(shí)用工具及編碼技巧。 f UC9-?(K  
    +R-h ,$\=7  
    1. 循環(huán)矢量化 d1v<DU>M  
    opsQn\4DZ?  
      Matlab是為矢量和矩陣操作而設(shè)計(jì)的,因此,可以通過矢量化方法加速M(fèi)文件的運(yùn)行。矢量化是指將for循環(huán)和while循環(huán)轉(zhuǎn)換為等價(jià)的矢量或矩陣操作。下面給出一個(gè)循環(huán)的例子: z{S:X:X  
    t\h$&[[l'z  
    i=0; sI_7U^"[  
    lT2 4JhJ#  
    for n = 0:0.1:1000 X1+ wX`f  
    I>PZYh'.T  
        i=i+1; TZ[Zm  
    1y J5l,q  
        y(i)=cos(n); xwRhs!`t1  
    =#qZ3 Qz_  
    end ~q)u(W C|  
    HPrq1QpK  
    那么我們可以矢量化為: k<a;[_S  
    v??TJ^1  
    n= 0:0.1:1000; u*3NS$vH  
    0RUi\X4HI  
    y=cos(n); )qL&%xz  
    ' +j<n[JLC  
    我們可以用tic和toc函數(shù)來查看上述各代碼運(yùn)行的時(shí)間,采用for循環(huán)的程序0.39秒(具體時(shí)間和計(jì)算機(jī)配置有關(guān)),而矢量化后幾乎耗時(shí)為0。 !/`$AXO  
    cHx%Nd\  
    2. 給數(shù)組或矩陣預(yù)分配內(nèi)存 nVE9^')8V  
    0Vkl`DmeM.  
        特別是使用大型數(shù)組或矩陣時(shí),Matlab進(jìn)行動(dòng)態(tài)內(nèi)存分配和取消時(shí),可能會產(chǎn)生內(nèi)存碎片,這將導(dǎo)致大量閑置內(nèi)存產(chǎn)生,預(yù)分配可通過提前給大型數(shù)據(jù)結(jié)構(gòu)預(yù)約足夠空間來避免這個(gè)問題。 9'?se5\  
     v,=v  
    3. 用函數(shù)代替腳本文件 G8nrdN-9  
    IOL L1ar  
        因?yàn)槊看握{(diào)用MATLAB的腳本文件都需要將不必要的中間變量加載到內(nèi)存中,每執(zhí)行一次,就加載一次。函數(shù)在調(diào)用時(shí)被編譯成了偽代碼,只需要加載到內(nèi)存一次。當(dāng)多次調(diào)用同一個(gè)函數(shù)時(shí)會運(yùn)行快一些。因此盡量多使用函數(shù)文件而少使用腳本文件,也是提高執(zhí)行效率的一種方法。 UiH!Dl}<  
    A4.4Dji,x  
    4. 用Mex文件編寫循環(huán)代碼 -(i(02PX  
    =-NiO@5o  
        Matlab提供了與C和C++的接口,那么我們可以在用C或C++語言編寫耗時(shí)的循環(huán)代碼,然后通過接口程序在Matlab中轉(zhuǎn)換成dll文件,這就是我們所要的Mex文件,通過這種方法可以極大地提高計(jì)算速率。
     
    光行天下網(wǎng)站、公眾號廣告投放、企業(yè)宣傳稿件發(fā)布,請聯(lián)系QQ:9652202,微信號:cyqdesign
    分享到
    離線lywfeng
    發(fā)帖
    466
    光幣
    6901
    光券
    0
    只看該作者 1樓 發(fā)表于: 2009-07-07
    謝謝了
    發(fā)帖
    43
    光幣
    2
    光券
    0
    只看該作者 2樓 發(fā)表于: 2016-03-23
    謝謝了
    離線gengyunfei
    發(fā)帖
    247
    光幣
    8
    光券
    0
    只看該作者 3樓 發(fā)表于: 2016-11-18
    學(xué)習(xí)了