Matlab求向量的模——6种方式
方式A:利用norm()函数
A=norm(vector);
方式B:利用sum()函数和sqrt()函数
B=sqrt(sum(vector.*vector));
方式B1:利用sum()函数和sqrt()函数
B1=sqrt(sum(vector.^2));
方式C:利用向量点积和sqrt()函数
C=sqrt(vector'*vector);
方式D:只利用向量点积(速度最快)
D=(vector'*vector)^0.5;
方式E:利用for循环
sum2=0;
for j=1:10000 % 10,000维向量
sum2=sum2+vector(j)^2;
end
E=sum2^0.5;
6种方式——速度比较
| 方式 | 计算10,000维列向量的模100,000次所消耗时间 |
|---|---|
| A | 0.201642 s |
| B | 1.414379 s |
| B1 | 1.417971 s |
| C | 0.137922 s |
| D | 0.135617 s |
| E | 1.258919 s |
这篇博客介绍了在Matlab中计算10,000维向量模的6种方法,包括norm()函数、sum()与sqrt()结合等,并通过实测比较了它们在执行100,000次时的运行时间。结果显示,利用向量点积的方法(方式D)速度最快,而for循环(方式E)最慢。
1万+





