Вы почти на месте.
Часть x=[a,b,c,d]
является излишней, ваш аргумент должен быть просто x
.
function [liter, gallon] = function1 (x);
a = x(1); b = x(2); c = x(3); d = x(4);
liter = a - 10 + d - c;
gallon = b + 15 + c;
endfunction
Если вы хотите, чтобы ваш код был безопасным и Для защиты от неправильных вводов вы можете выполнять такие проверки вручную внутри функции, например,
assert( nargin < 1 || nargin > 4, "Wrong number of inputs supplied");
Синтаксис x=[a,b,c,d]
не применяется к октаве; это зарезервировано для установки аргументов по умолчанию, в этом случае a, b, c и d должны быть заданы c значениями, которые вы хотите использовать в качестве значений по умолчанию. если бы вы сказали что-то вроде x = [1,2,3,4]
, тогда это было бы хорошо, и это означало бы, что если бы вы вызывали функцию без аргумента, она установила бы x
до этого значения по умолчанию.