如何改变向量V的所有元素以达到条件sum(V)等于上下边界?



我有一个向量V,例如,V=[0.1 0.002 0.5 0.2 0.1 0.003 0.4]。矩阵V的所有元素的边界总是在0.010.8之间

我想创建一个函数来改变向量V的元素,使V的和等于1。

我希望在MatlabV= Editor(V, lp, up );中创建一个函数

  • 其中lp:为下边界,在我的示例中为0.01
  • 和up:是上限,在我的例子中是0.8

尝试创建一个变量(也许叫它sumV))存储V和另一个存储1/sumV的变量的和。这个变量是用来改变向量元素的。您可以使用lp来检查V中的值是否超出或低于你的边界用for循环遍历V中的所有元素

一些伪代码:

  1. for i = 1:length(V)

  2. if语句检查V(i)是否小于下边界'lp'

  3. 将小于'lp'的值更新为'lp'

  4. if语句检查V(i)是否大于上边界"起来">

  5. 将大于'up'的值更新为'up'

  6. for循环结束

  7. 现在将V中的所有元素求和为一个变量,例如sumV

  8. 将1除以sumV得到用于修改内容的比例因子V

  9. 循环遍历V中的所有元素,并将它们全部乘以比例因子*

希望这能回答你的问题。

相关内容

最新更新