当前位置: 首页 > 仿真模拟 >【讨论】求向量的范数

【讨论】求向量的范数

作者 sctc2007_g
来源: 小木虫 350 7 举报帖子
+关注

如果我想实现一个条件:若||x||>10, x的各分量怎么表示?若||x||<=2, x的各分量可以保持。

例考虑x=[4,7]。 返回小木虫查看更多

今日热帖
  • 精华评论
  • zjliu1265

    范数可以使用函数norm来计算,而你说的“若||x||>10, x的各分量怎么表示?”
    是什么意思?明确一下,呵呵

  • wuguocheng

    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-范数

  • sctc2007_g

    我想用matlab表示:如果x=[x1,x2]的范数>5,则要修正X使得满足X范数小于等于5;如果x的范数<=5,则X=x;
    请问该如何修正X=[X1,X2]?

  • sctc2007_g

    我想用matlab表示:如果x=[x1,x2]的范数>5,则要修正X使得满足X范数小于等于5;如果x的范数<=5,则X=x;
    请问该如何修正X=[X1,X2]?

  • zjliu1265

    引用回帖:
    Originally posted by sctc2007_g at 2009-9-12 19:18:
    我想用matlab表示:如果x=[x1,x2]的范数>5,则要修正X使得满足X范数小于等于5;如果x的范数<=5,则X=x;
    请问该如何修正X=[X1,X2]?

    范数大于5时,你除一个大于1的数就可以了。除数因子取多少
    需要你自己根据问题来设定了

  • sctc2007_g

    哦,谢谢了!

  • sitonyl

    引用回帖:
    Originally posted by sctc2007_g at 2009-9-12 19:18:
    我想用matlab表示:如果x=[x1,x2]的范数>5,则要修正X使得满足X范数小于等于5;如果x的范数<=5,则X=x;
    请问该如何修正X=[X1,X2]?

    hehe,如果没有其他要求,最简单的办法就是当向量的范数大于5时,就将该向量除以其范数,使其变为范数为1的向量,而且保持向量的方向不变

猜你喜欢
下载小木虫APP
与700万科研达人随时交流
  • 二维码
  • IOS
  • 安卓