matlab里,有没有函数直接求一个矢量的模
在Matlab中, NORM 函数可以直接求一个矢量的模。
Matlab函数norm有两种形式:
1、n = norm(X)
2、n = norm(X,p) ,p - 范数
其中,n = norm(X) 与 n = norm(X,2)相同。
a = [1 -1.2;2 3];
n1 = norm(a);
n2 = norm(a,2);
n1 = 3.6383;n2 = 3.6383;
p = 2 时,2范数的计算
n = sqrt(max(max(eig(X*X')))); 其中,eig(X*X')是求矩阵X乘X转置的特征值;
扩展资料
matlab常用函数
1、Matrix_a = [1 2 3;4 5 6;7 8 9]%生成一个3维矩阵
2、Matrix_b = [9 8 7;6 5 4;3 2 1]%生成一个3维矩阵
3、rank_Matrix_a = rank(Matrix_a)%求矩阵a的秩
4、horzcat_Matrix_a_Matrix_b = horzcat(Matrix_a,Matrix_b)%将矩阵a,b的左右合并
5、vertcat_Matrix_a_Matrix_b = vertcat(Matrix_a,Matrix_b)%将矩阵a,b的上下合并
6、inv_Matrix_a = inv(Matrix_a)%求矩阵a的逆矩阵
NORM 在线性代数,函数分析等数学学科中,norm是一种可以在向量空间里对向量赋予长度和大小的函数。
在Matlab中, NORM 函数表示数组或向量的norm值。
格式:n=norm(A,p)
1、如果A为矩阵 n=norm(A)
返回A的最大奇异值,即max(svd(A)) n=norm(A,p)
根据p的不同,返回不同的值
p 返回值
1 返回A中最大一列和,即max(sum(abs(A))
2返回A的最大奇异值,和n=norm(A)用法一样
inf 返回A中最大一行和,即max(sum(abs(A')))
'fro' A和A'的积的对角线和的平方根,即sqrt(sum(diag(A'*A)))
2、如果A为向量 norm(A,p)
返回向量A的p范数。即返回 sum(abs(A).^p)^(1/p),对任意 1<p<+∞. norm(A) 返回向量A的2范数,即等价 于norm(A,2)。 norm(A,inf) 返回max(abs(A)) norm(A,-inf) 返回min(abs(A))