Я новичок в Octave и довольно смущен этой ошибкой, которую я получаю.Моя функция f работает для (7,1) вектора единиц, но для любого другого (7,1) вектора, который я пробовал, я получаю индекс из-за связанной ошибки
Насколько мне известно, индексирование между рабочимивходной и неработающий должны совпадать, меняются только значения в этих индексах.Так почему же это происходит, что я делаю не так?
Вот мой код:
function asd
f([1,1,1,1,1,1,1]) #works
f([2,1,1,1,1,1,1]) #out of bound,
#same for no matter which value I replace with a 2
x = ones(7,1)
f(x) #works
x(1) = 2
f(x) #out of bound
endfunction
function y = f(x)
y = ones(7,1);
y(1) = x(1) − x(2) − x(6);
y(2) = x(2) − x(3) − x(4);
y(3) = x(3) + x(4) − x(5);
y(4) = x(5) + x(6) − x(7);
y(5) = 200((x(3))^2) − 75((x(4))^2);
y(6) = 100((x(2))^2) + 75((x(4))^2) + 100((x(5))^2) − 75((x(6))^2);
y(7) = 100((x(1))^2) + 75((x(6))^2) + 50((x(7))^2) − 10.285;
endfunction
Вот ошибка:
Ошибка: индекс (4): изграниц 1
ошибка: вызывается из asd> f в строке 20 столбца 8 asd в строке 3 столбца 3