Scilab - для цикла с изменяющимся индексом - PullRequest
1 голос
/ 05 ноября 2019

У меня проблемы с очень простым циклом for в Scilab.

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 для перегрузки.

Я не уверен, что на самом деле означает эта ошибка.

1 Ответ

1 голос
/ 05 ноября 2019

Ошибка в

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

Вы не можете закодировать этот тест как этот. Напишите это как

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