在Matlab,表达式M()究竟在哪里做M矩阵?
>> M = magic(3);
>> M()
ans =
8 1 6
3 5 7
4 9 2
Run Code Online (Sandbox Code Playgroud)
isequaln(M, M())在任何情况下表达都是真的吗?是M()简单的拷贝M,或相同的表达,或者是有地方提到任何上下文M()手段东西比指的是别的M?也许在运算符重载的情况下?
bla*_*bla 15
除了事实之外,它会给某些函数提供默认操作,例如rand()和复活节蛋如(imagesc()和spy()也可以没有()),只要它们的维数是维度,它似乎是一种更有效的访问整个数组的方法.低于5(正如@Rody Oldenhuis发现的那样).例如:
a=rand(2^12);
tic
for j=1:1e5
a ;
end
toc
tic
for j=1:1e5
a(:) ;
end
toc
tic
for j=1:1e5
a() ;
end
toc
Run Code Online (Sandbox Code Playgroud)
让:
Elapsed time is 0.047250 seconds.
Elapsed time is 0.022260 seconds.
Elapsed time is 0.011925 seconds.
Run Code Online (Sandbox Code Playgroud)
然而,对于作业而言,a1=avs 之间的差异非常小a1=a(),后者则慢了1.5%......
也许这个主题将回答你关于运算符重载的一些问题.