| 5 | 1/1 | 返回列表 |
| 查看: 1681 | 回復: 7 | ||
| 當前只顯示滿足指定條件的回帖,點擊這里查看本話題的所有回帖 | ||
[求助]
matlab循環(huán)計算轉為矩陣 30金幣求助
|
||
|
程序是用來做菲涅爾積分的,由于程序運算時間太長,因此想把最耗時的兩重for循環(huán)運算部分改為矩陣運算形式,但沒找到合適的方法,循環(huán)中運行的語句本身就是一個矩陣運算,想請教各位怎么改成完全矩陣運算的程序。 X1=-22e-3; X2=22e-3; Y1=-22e-3; Y2=22e-3; Num0=128; [x,y]=meshgrid(X1 X2-X1)/(Num0-1):X2,Y1 Y2-Y1)/(Num0-1):Y2);for i=1:Num0 x1=x(1,i); for j=1:Num0 y1=y(j,1); Fij=Fun2.*exp(sqrt((x1-x).^2+(y1-y).^2)); %Fun2是一個矩陣函數(shù) Fun3(i,j)=sum(sum(Fij)); end end |
銅蟲 (小有名氣)
你好。關于兩個循環(huán),實在是想不出什么好的方法,主要是求各個點到其它點的距離這一項,試了總是不行。![]() 但如果你確定是用這一組X1,X2,Y1,Y2,就可以偷下懶。 我的程序暫時以Num0=8為例進行說明。只要X關于點對稱,Y關于點對稱,就好辦。 你的F3是一個大的對稱的矩陣。我們只要生成這個矩陣的1/8.通過轉置,翻轉等操作(matlab對矩陣的運算還是挺快的。),可以生成Fun3。 當Num0=8的時候,兩層循環(huán)比較好。 Elapsed time is 0.000551 seconds. Elapsed time is 0.012936 seconds. 當Num0=32的時候,兩種方法差不多。 Elapsed time is 0.063168 seconds. Elapsed time is 0.021089 seconds. 當Num0=128的時候,偷懶的方法要好些,可能是Num0越大,效果越好,但應該是有上限的,這要看你的內存值(用空間換時間就是)。 Elapsed time is 8.402686 seconds. Elapsed time is 0.986670 seconds. clear all clc % X1=-22e-3; % X2=22e-3; % Y1=-22e-3; % Y2=22e-3; % different X,Y X1=-20e-3; X2=20e-3; Y1=-21e-3; Y2=21e-3; Num0=128;% u can change it for 8,32 64 and 128 tm_lu=zeros(Num0/2,Num0/2); tm_lu=zeros(Num0/2,Num0); tmp =zeros(Num0,Num0); Fun2=1; x_l=X1 X2-X1)/(Num0-1):X2;y_l=Y1 Y2-Y1)/(Num0-1):Y2;[x,y]=meshgrid(x_l,y_l); %% your way tic for i=1:Num0 x1=x_l(i); for j=1:Num0 y1=y_l(j); Fij=Fun2.*exp(sqrt((x1-x).^2+(y1-y).^2)); %Fun2是一個矩陣函數(shù) F3(i,j)=sum(Fij( );end end toc %% tic for i=1:Num0/2 x1=x_l(i); for j=1:i y1=y_l(j); Fij=Fun2.*exp(sqrt((x1-x).^2+(y1-y).^2)); %Fun2是一個矩陣函數(shù) tm(i,j)=sum(Fij( );end end tm_lu=tm+tm'-tril(tm'); tm_u=[tm_lu,flipud(tm_lu)']; F4=[tm_u;flipud(tm_u)]; toc % modified on : 22-Nov-2012 19:11:35 % typed by : m |

銅蟲 (小有名氣)

| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 275求調劑 +12 | waltzh 2026-04-01 | 12/600 |
|
|---|---|---|---|---|
|
[考研] 085601材料工程找調劑 +20 | oatmealR 2026-03-29 | 21/1050 |
|
|
[考研] 生物與醫(yī)藥考研調劑 +5 | 鐵憨憨123425 2026-03-31 | 5/250 |
|
|
[考研] 26考研調劑 +3 | Wnz.20030617 2026-04-01 | 3/150 |
|
|
[考研] 0856初試324分求調劑 +5 | 想上學求調 2026-04-01 | 5/250 |
|
|
[考研] 一志愿鄭大085600,310分求調劑 +6 | 李瀟可 2026-03-26 | 6/300 |
|
|
[考研] 安徽大學專碩生物與醫(yī)藥專業(yè)(086000)324分,英語已過四六級,六級521,求調劑 +10 | 美味可樂雞翅 2026-03-26 | 12/600 |
|
|
[考研] 一志愿 南京航空航天大學 ,080500材料科學與工程學碩 +10 | @taotao 2026-03-31 | 11/550 |
|
|
[考研] 求調劑:一志愿:南京大學 專業(yè):0705 總分320 ,本科985,四六級已過 +3 | lfy760306 2026-03-31 | 3/150 |
|
|
[考研] 335求調劑 +3 | 321* 2026-03-31 | 4/200 |
|
|
[考研] 英一數(shù)一總分334求調劑 +4 | 陳陽坤 2026-03-31 | 4/200 |
|
|
[考博] 材料專業(yè)申博 +5 | 杜雨婷dyt 2026-03-29 | 5/250 |
|
|
[考研] 一志愿大連理工大學,機械工程學碩,341 +3 | 西瓜田的守望者 2026-03-30 | 3/150 |
|
|
[考研] 085600材料與化工調劑 +16 | kikiki7 2026-03-30 | 16/800 |
|
|
[考研] 食品工程專碩一志愿中海洋309求調劑 +5 | 小張zxy張 2026-03-26 | 10/500 |
|
|
[考研]
|
gr哈哈哈 2026-03-28 | 3/150 |
|
|
[考研] 296求調劑 +10 | 彼岸t 2026-03-29 | 10/500 |
|
|
[考研] 327求調劑 +6 | 汲亦昊 2026-03-29 | 6/300 |
|
|
[考研] 265求調劑11408 +3 | 劉小鹿lu 2026-03-27 | 3/150 |
|
|
[考研] 一志愿211院校 344分 東北農(nóng)業(yè)大學生物學學碩,求調劑 +5 | 丶風雪夜歸人丶 2026-03-26 | 8/400 |
|