中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MATLAB如何實現并行運算

發布時間:2021-12-30 17:19:09 來源:億速云 閱讀:202 作者:小新 欄目:大數據

這篇文章給大家分享的是有關MATLAB如何實現并行運算的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

MATLAB如何實現并行運算

本來我是把全部過程都錄完了的,不過轉成GIF后比較大超過2兆了,沒法上傳,所以就錄了部分。

錄地時候忘把patch對象中的EdgeAlpha設為零的,所以patch的edge把前面的line給遮住了(在程序中我把line放前面了)。如果把patch中的EdgeAlpha設為0,連線才是紅色的,或者你不用line也行,你直接把EdgeColor的值設為 'r' 也行。感覺這樣應該好看點。

MATLAB如何實現并行運算

代碼基本和昨天的一致,我只是把plotSTL出的patch對象的FaceAlpha值設為0了,在循環中再patch每個小塊。

這里還是放出源碼吧MATLAB如何實現并行運算

clc
clear
close all

VertexData= stl2matlab('pig_stl.txt');
hPatch = plotSTL(VertexData,[1 1 0]);
hPatch.FaceAlpha = 0;
view(3)
set(gca,'NextPlot','add')
set(gca,'Clipping','off')
axis off
set(gca,'Units','nor')
set(gca,'Position',[0 0 1 1])
set(gca,'Color',get(gcf,'Color'))


X = VertexData{1};
Y = VertexData{2};
Z = VertexData{3};

for i = 1 : size(X,2)
    line( X(:,i) , Y(:,i) , Z(:,i) , 'Color' , 'r' , 'LineWidth' , 0.5)
    scatter3( X(:,i) , Y(:,i) , Z(:,i) , 'SizeData' , 20 , 'MarkerFaceColor' , 'y')
    patch( X(:,i) , Y(:,i) , Z(:,i) , [1 128/255 128/255] , 'FaceAlpha' , 0.4,'EdgeAlpha' , 0)
    drawnow
    i
end

MATLAB如何實現并行運算

來點有用的..

關于并行運算,我只知道個parfor,和for循環一樣,parfor也是要搭配一個endMATLAB如何實現并行運算。parfor和for循環的區別還是很大的。

  1. parfor中不能再嵌套一個parfor

  2. parfor只支持對整數進行循環

  3. parfor它不一定是按照順序的(我不知道怎么描述,看下面這個例子吧)

  4. 每次循環都必須要求獨立,也就是說下一次的循環不能依賴于上一次的循環MATLAB如何實現并行運算,這個要求最惱人...

MATLAB如何實現并行運算

當我們使用parfor時,MATLAB會開若干個workspace,然后把這個循環分成若干個部分分別分配到那若干個workspace中同時計算。這樣速度就快了好幾倍MATLAB如何實現并行運算。不過如果for循環幾秒就能解決的事,用parfor可能會比for慢。

上面說了parfor下不能嵌套parfor,而我們有兩重循環怎么辦?解決辦法是外層parfor,內層for,或者外層for,內層parfor........但是后者很慢....還有一個辦法是把兩層循環單層循環,such as:

A = magic(2000);
m = size(A,1);
n = size(A,2);
%A = reshape(A , m * n , 1);
tic
parfor k = 1:numel(A)
    i = mod(k - 1 , m) + 1;
    j = floor( (k - 1) / m ) + 1;
    A(k) = A(k) + i * j;% 單個的parfor中只能用向量,你這里寫A(i,j)matlab就不干
end
A = reshape(A,m,n);
Method4 = toc;

感謝各位的閱讀!關于“MATLAB如何實現并行運算”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

绥中县| 崇左市| 台安县| 揭东县| 东丰县| 泉州市| 磐石市| 渭源县| 沙坪坝区| 吉安县| 泗洪县| 双柏县| 胶州市| 河津市| 驻马店市| 海林市| 昭觉县| 大关县| 海淀区| 南陵县| 苍梧县| 靖州| 长子县| 太仆寺旗| 靖安县| 泉州市| 桦川县| 皮山县| 玛曲县| 长寿区| 柘城县| 绥芬河市| 武宁县| 河东区| 广东省| 江都市| 游戏| 嘉鱼县| 宁强县| 汤原县| 临沭县|