首页 > 解决方案 > Scilab - 具有变化索引的 For 循环

问题描述

我在 Scilab 中遇到了一个非常简单的 for 循环问题。

max_inventory = 0;

for j=1:120

    S(j) = max_inventory + 1;

    if (S(j)<90) then
        cost(j) = 27;

        elseif (90<=S(j)<=110) then
        cost(j) = 25;

        else
        cost(j) = 22;
    end


    max_inventory = max_inventory + 1;


end

基本上,我希望 S 有一个索引 j。因此,经过 120 次迭代,将有 120 个不同的 S 值。即 S_1、S_2、...、S_120。

在 if-else 条件下,我希望“成本”具有不同的值,具体取决于 S(j) 是什么。

但是,我不断收到错误消息:

给定操作数的未定义操作。检查或定义函数 %b_3_s 以进行重载。

我不确定这个错误的真正含义。

标签: for-loopscilab

解决方案


错误在

if (90<=S(j)<=110)

你不能像这样编写这个测试。像这样写

if (90<=S(j) && S(j)<=110)

推荐阅读