MATLAB 有什麼奇技淫巧?

時間 2021-05-06 06:05:20

1樓:鮑里斯

運算的加速 bsxfun cellfun 可以將for迴圈速度提高幾個數量級。

如果實在懶得寫,可以寫個mex介面呼叫c/c++來執行迴圈。只不過在處理影象時,matlab和opencv影象矩陣的index不同。

%%%%%%%劃重點

從我能熟練運用matlab開始到現在大概四年時間,我發現我用到的幾乎所有的功能,matlab都已經實現過了,而且是又快又好。所以在你自己實現函式之前,先上網好好調查一下,能節省很多時間。

2樓:必填

開個坑:

簡單說:最近想了個新的方法來做傅利葉轉換(DFT)。前提是你的RAM要足夠大(但4GB也足夠做很多事情)。

大致就是用3D矩陣來批量處理共軛空間的資料,這樣避免過度使用迴圈而降低速度。

3樓:

我經常用來處理影象、excel、txt

比如影象裡的文字轉化為可編輯的文字

excel裡資料批處理視覺化

txt檔案文書處理

4樓:City flower

某天在Lab幹了一天活,到了晚上感覺天昏地暗,就像這樣↓

一陣冷風吹過,乙個激靈突然想起來我的perl指令碼還沒寫完ヾ(`Д),慌亂之中就對著Matlab終端一頓狂敲Linux命令列,結果……我一定是喝多了!

5樓:邵恩真

執行完髮個郵件給我。

周五晚上調好程式,用乙個指令碼把把好幾個程式串起來(都比較耗時),依次執行,結果分別存成不同的mat檔案,執行完再發個郵件。

然後就回寢室high去了,什麼時候查收到郵件就去實驗室看看結果。

6樓:硫氯

mat可以同時開多個視窗。

……………………分割線………………

就是說你可以在一台機上同時開啟好幾個mat。

從上大學就開始用mat,別的軟體除了r語言基本不碰。但一直中二的「以為」只能開乙個(其實是根本沒意識到)。有次為了同時執行三個程式,搬出三颱筆記本。

只是個人經驗,輕噴。

7樓:八一路飛機頭

=。=前面的答案都好長啊……

既然你都說是奇技淫巧了,那麼……

[X, Y] = meshgrid(0.01:0.01:1, 0.01:0.01:1);

Z = 11*X.*log10(X).*Y.*(Y-1)+exp(-((25 ...

*X - 25/exp(1)).^2+(25*Y-25/2).^2).^3)./25;

surfl(X, Y, Z);

shading flat

colormap(pink)

view([20 30])

hold on

[X, Y] = meshgrid(0.01:0.01:1, 0.01:0.01:1);

Z = 11*X.*log10(X).*Y.*(Y-1)+exp(-((25 ...

*X - 25/exp(1)).^2+(25*Y-25/2).^2).^3)./25;

surfl(X, -Y, Z);

shading flat

colormap(pink)

8樓:zz xiao

mex,耦合c++/fortran

把難以向量化的運算編譯執行,一般會快10到100倍,消除matlab的效能瓶頸

matlab向量化自動並行,c++用openmp,找台多路伺服器還能再快幾倍,算起來那叫乙個爽

9樓:大灰灰老師

貢獻乙個,應該算是常用技巧。如果你的匿名函式算出乙個矩陣而你只要其中某個元素,可以定義 subindex 如下:

subindex=@

(A,varargin)A

(varargin

);然後就可以愉快地y1=

@(x,

t0)subindex(C

(t0)*

x+d(

t0),1,

1);,,,

10樓:楊燕寧

由@Falccm的第13條想到的,關於記憶體的% multidimensional arraya = rand(30, 40, 50);

% same shape, shared memoryb1 = a;

b2 = permute(a, [1 2 3]);

% same shape, unshared memoryc1 = a(:,:,:);

c2 = a

% different shape, shared memoryd1 = a(:);

d2 = reshape(a, 100, 10, 60);

% different shape, unshared memorye1 = a(:,:);

e2 = permute(a, [2 1 3]); % obviously unshared memory, since data is ordered differently

11樓:渴飲匈奴血

matlab渣渣來拋磚引玉一下。

不得已使用了迴圈的情況下,有時運算時間會很長。這樣在除錯的時候,需要判斷是的確需要很長時間,還是死迴圈了,最好還能估計一下要算多久。我的做法是,在最外層迴圈裡,每次輸出乙個數。

例如:for i=1:1000

ifor j=1:1000

此處省略若干行,均以分號結束

endend

這樣在執行的過程中,就能知道已經算了多少了。

Pok mon GO 有什麼奇技淫巧?

Lu Jia 最近剛剛發現的。每個寵物進化時除了要注意測算他的IV值之外,就是身材.攻擊 防守和體力,還要注意它的特殊攻擊的型別。同型別的攻擊會有50 傷害加成。下圖同樣兩個暴鯉龍.乙個特殊攻擊是 dragon 乙個是 water 後者要明顯好於前者。同樣的例子,寶石海星居然是rock特殊攻擊。廢物...

Python 有什麼奇技淫巧?

jannchie見齊 Python字串格式化 資料 data 目標 輸出 我是見齊,是個程式設計師。字串拼接 我是 data name 是個 data job 使用格式化方案 我是 是個 format data name data job 較簡單的格式化方案方案 我是 s 是個 s。data nam...

Java 有什麼奇技淫巧?

rainoftime 選自 名詞王國裡的死刑 For the lack of a nail,throw new HorseshoeNailNotFoundException no nails For the lack of a horseshoe,EquestrianDoctor.getLocalI...