EDA365电子论坛网
标题:
双层嵌套循环赋值怎么优化?
[打印本页]
作者:
勇往直前11
时间:
2021-1-15 13:34
标题:
双层嵌套循环赋值怎么优化?
代码如下k=1;
' p# Y: M% Q( |3 E- `0 U
for i=1:788 for j=i+1:788
0 R- M9 H) n4 V/ p9 H. g0 F# @7 h
P(k,1)=i;
4 F! V: B& x* Z0 F" F
P(k,2)=j;
; j- n; ~; X. ]$ J
k=k+1;
! ~' Z3 L% [( _) a( J6 z: i
end
: Q( s7 f2 R4 ?9 B5 B$ e) G
end
7 ^* x8 [8 [' r2 `9 ~ Z3 d1 v
8 H# x( ?' m( w+ K" h5 e
很简单的代码,但是运行非常耗时要运行几天看起来.求向量化怎么改,或者简化就行
1 L/ R* R5 Z. W2 y' O+ I5 ?
作者:
llbnmo
时间:
2021-1-15 13:46
帮你顶一下
作者:
IBB-EUT
时间:
2021-1-15 16:03
' l. j* T6 q4 M0 X( ^) X+ W
在循环开始前,预设好矩阵P的维度,就可以大幅节省时间了
2 F7 m* H( p' K' t
N = 788;
B( w: f- n& C2 Q% [
P = zeros( N * ( N - 1 ) / 2, 2 );
作者:
zzz.dan
时间:
2021-1-15 16:58
N = 788;
7 ~# s8 X3 T& t# s4 m
M1 = tril( ones( N - 1, 1 ) * [ 1 : N - 1 ] );
( E( N. I3 H% }5 k0 x% x: ~
M2 = tril( [ 2 : N ].' * ones( 1, N - 1 ) );
# \4 J: Y. ~% z2 B: ~, _! n$ o" G/ G
P = [ M1( M1~=0 ), M2( M2~=0 ) ];
4 _# w* l7 I9 K5 t( x( Z
欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/)
Powered by Discuz! X3.2