如果我想实现一个条件:若||x||>10, x的各分量怎么表示?若||x||<=2, x的各分量可以保持。 例考虑x=[4,7]。 返回小木虫查看更多
范数可以使用函数norm来计算,而你说的“若||x||>10, x的各分量怎么表示?” 是什么意思?明确一下,呵呵
norm:求范数。 For matrices(X): norm(X)=max(svd(X)) norm(X,1):X的1-范数: max(sum(abs(x))). norm(X,inf):X的infinity norm: max(sum(abs(X'))). For vectors(V): norm(V,p)=sum(abs(v).^p)^(1/p)(范数定义) norm(V)=norm(V,2):2-范数
我想用matlab表示:如果x=[x1,x2]的范数>5,则要修正X使得满足X范数小于等于5;如果x的范数<=5,则X=x; 请问该如何修正X=[X1,X2]?
哦,谢谢了!
范数可以使用函数norm来计算,而你说的“若||x||>10, x的各分量怎么表示?”
是什么意思?明确一下,呵呵
norm:求范数。
For matrices(X):
norm(X)=max(svd(X))
norm(X,1):X的1-范数: max(sum(abs(x))).
norm(X,inf):X的infinity norm: max(sum(abs(X'))).
For vectors(V):
norm(V,p)=sum(abs(v).^p)^(1/p)(范数定义)
norm(V)=norm(V,2):2-范数
我想用matlab表示:如果x=[x1,x2]的范数>5,则要修正X使得满足X范数小于等于5;如果x的范数<=5,则X=x;
请问该如何修正X=[X1,X2]?
我想用matlab表示:如果x=[x1,x2]的范数>5,则要修正X使得满足X范数小于等于5;如果x的范数<=5,则X=x;
请问该如何修正X=[X1,X2]?
范数大于5时,你除一个大于1的数就可以了。除数因子取多少
需要你自己根据问题来设定了
哦,谢谢了!
hehe,如果没有其他要求,最简单的办法就是当向量的范数大于5时,就将该向量除以其范数,使其变为范数为1的向量,而且保持向量的方向不变
,