【问题标题】:Operation returns a scalar value when a vector of values is expected当需要一个值向量时,操作返回一个标量值
【发布时间】:2011-06-15 15:13:59
【问题描述】:

我正在评估一个简单的函数:

y = (2*x)/sqrt( 1 + x.^2 );

x 是一个包含大约 100 个值的向量。但是,在此实例中,MATLAB 使 y 等于单个标量值。如果我这样做:

y = 2*x;

我按预期在y 中得到了一个值向量。如果我这样做:

y = x.^2;

按预期在y 中得到一个值向量。

为什么上面的公式y = (2*x)/sqrt( 1 + x.^2 ); 给出的是单个值而不是值向量?

【问题讨论】:

    标签: matlab vector division scalar


    【解决方案1】:

    操作B/A(给定B = 2*xA = sqrt(1+x.^2))将尝试执行matrix right division,对于行向量x将是方程组@987654327的最小二乘解@,这会导致 y 的标量值。

    对于element-wise array division,请执行B./A 操作(注意.)。

    【讨论】:

      猜你喜欢
      • 2013-06-05
      • 2017-08-05
      • 2017-03-09
      • 2023-02-23
      • 2015-01-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多