Matlab中如何编程求解范数

Matlab中如何编程求解范数,第1张

matlab中使用norm函数求向量伏唯或矩阵的范数滚厅如,可以求解1范数、2范数、无穷范大启数和p范数

NORM(X) is the largest singular value of X, max(svd(X)).

NORM(X,2) is the same as NORM(X).

NORM(X,1) is the 1-norm of X, the largest column sum,

= max(sum(abs(X))).

NORM(X,inf) is the infinity norm of X, the largest row sum,

= max(sum(abs(X'))).

NORM(X,'fro') is the Frobenius norm, sqrt(sum(diag(X'*X))).

NORM(X,P) is available for matrix X only if P is 1, 2, inf or 'fro'.

function y=maxnorm(A)

y=0

n=length(A(1,:))

for i=1:n

sumcol=0

for j=1:n

sumcol=sumcol+abs(A(j,i))

end

if(sumcol>y)

y=sumcol

end

end

%X为向量,求欧几里德范数,即

n

=

norm(X,inf)

%求

无穷-范数,即

n

=

norm(X,1)

%求1-范数,即

n

=

norm(X,-inf)

%求向量X的元素的绝对值的最小值,即

n

=

norm(X,

p)

%求p-范数,即

,所以norm(X,2)

=

norm(X)。

命令

矩阵的范数函数

norm格式

n

=

norm(A)

%A为矩阵,求并晌欧几里德范数

,等于A的最码蔽坦大奇异值。

n

=

norm(A,1)

%求A的列范数

,等于A的列向量的1-范数的最大值。

n

=

norm(A,2)

%求A的欧几里德范数

,和norm(A)相同。

n

=

norm(A,inf)

%求行范数

,等于A的行向量的1-范数的最大值即:max(sum(abs(A')))。

n

=

norm(A,

'fro'

)

%求矩阵A的Frobenius范数

,矩阵元p阶范迟桐数估计需要自己编程求,

计算公式如下

举个例子吧a=magic(3)sum(sum(abs(a)^4))^(1/4)a

=

8

1

6

3

5

7

4

9

2

ans

=

19.7411


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8186553.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存