matlab中norm(a(:,j))这一语句是啥意思?a是一个一维数组,或者说1*n的矩阵
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab中norm(a(:,j))这一语句是啥意思?a是一个一维数组,或者说1*n的矩阵相关的知识,希望对你有一定的参考价值。
a=[5.1 350 183 169 0.08 0.17 0.15 0.006 23.8 51.4 0.78 1.35 0.026 10.7 1.48 0.0026 900
6.9 327 138 160 0.11 0.19 0.15 0.003 16.2 65.1 0.98 2.63 0.012 13 1.72 0.0178 1805
6.4 524 232 162 0.07 0.2 0.27 0.0015 1.9 10 0.15 18.4 0.321 0.05 0.53 0.0025 600
7.2 1020 209 312 1.08 0.65 0.19 0.0015 1.7 10 0.03 0.32 0.004 0.025 2.18 0.0211 968
];
[m,n]=size(a);
for j=1:n
b(:,j)=a(:,j)/norm(a(:,j));%向量规范化;
end
我想知道b输出来是什么东西,因为在网上没找到norm(a(:,j))类似的算式,全部是norm(A,p)型,让我很郁闷,本人初步接触MATLAB,还请大神勿喷,不胜感激
norm(b)返回A的最大奇异值追问
最大奇异值是什么啊?查不到相关资料。。。
本回答被提问者采纳Matlab中的冒号
2020-05-02 19:53:02
在进行数组操作时,冒号若使用得当,能得到简化操作的作用,大致总结冒号在矩阵操作中的主要作用和使用方法:
语句 | 作用 |
A(:,j) | A的第j列 |
A(i,:) | A的第i行 |
A(:,:) | A本身 |
A(:) | A的单列 |
A(i:j) | A单列中第i~第j个元素 |
A(:,i:j) | A的第i~j列 |
A(i:j,:) | A的第i~行 |
A = (10:-2:0) | 定义向量A从10开始,到0结束,步长为-2 |
matlab例子:
1 >> A = [1,2,3,4;5,6,7,8;9,10,11,12] 2 3 A = 4 5 1 2 3 4 6 5 6 7 8 7 9 10 11 12 8 9 >> A(:,2) % A的第二列 10 11 ans = 12 13 2 14 6 15 10 16 17 >> A(3,:) % A的第三行 18 19 ans = 20 21 9 10 11 12 22 23 >> A(:) %等于A的单列(化为一维的向量) 24 25 ans = 26 27 1 28 5 29 9 30 2 31 6 32 10 33 3 34 7 35 11 36 4 37 8 38 12 39 40 >> A(2:4) % A单列的第2~第4个元素 41 42 ans = 43 44 5 9 2 45 46 >> A(:,:) % 等于A 47 48 ans = 49 50 1 2 3 4 51 5 6 7 8 52 9 10 11 12 53 54 >> A(:,2:4) % A的第2~4列 55 56 ans = 57 58 2 3 4 59 6 7 8 60 10 11 12
小结:
冒号在矩阵操作中主要有:
1.定义矩阵或取矩阵的一部分时,指定步长;
2.单独存在时,表示默认选择所有行/列(若在逗号左边,表示选择所有行;若在逗号右边,默认选择所有列)。
以上是关于matlab中norm(a(:,j))这一语句是啥意思?a是一个一维数组,或者说1*n的矩阵的主要内容,如果未能解决你的问题,请参考以下文章