我有一个向量V,例如,V=[0.1 0.002 0.5 0.2 0.1 0.003 0.4]
。矩阵V的所有元素的边界总是在0.01
和0.8
之间
我想创建一个函数来改变向量V
的元素,使V的和等于1。
我希望在Matlab
V= Editor(V, lp, up );
中创建一个函数
- 其中lp:为下边界,在我的示例中为0.01
- 和up:是上限,在我的例子中是0.8
尝试创建一个变量(也许叫它sumV))存储V和另一个存储1/sumV的变量的和。这个变量是用来改变向量元素的。您可以使用lp和来检查V中的值是否超出或低于你的边界用for循环遍历V中的所有元素
一些伪代码:
-
for i = 1:length(V)
-
if语句检查V(i)是否小于下边界'lp'
-
将小于'lp'的值更新为'lp'
-
if语句检查V(i)是否大于上边界"起来">
-
将大于'up'的值更新为'up'
-
for循环结束
-
现在将V中的所有元素求和为一个变量,例如sumV
-
将1除以sumV得到用于修改内容的比例因子V
-
循环遍历V中的所有元素,并将它们全部乘以比例因子*
希望这能回答你的问题。