Я только начинаю работать с MATLAB, и я написал функцию для создания биномиального расширения (x-a)^n
, когда ему даны x
, a
и n
. Насколько я могу судить, мой код должен работать, но я, похоже, неправильно использую переменные функции.
function expand(a,n,x)
f = 0;
for k = 0:1:n
f = f + nchoosek(n,k).*x.^(n-k).*(-a).^k;
end
end
Мне нужно иметь возможность вызывать функцию и выводить ее как расширенную полином в x
, например, вызов expand(1,3,x)
должен вернуть x^3-3*x^2+3*x-1
, но вместо этого вызов его дает такую ошибку:
Unrecognized function or variable 'x'. It seems like it wants me to call the function with x being another number but I in fact need it to be able to be any letter to be used as the variable in the polynomial.
Я знаю, в Maple я бы указал тип переменной в функции должен быть x::name
, поэтому я предполагаю, что в MATLAB есть нечто похожее, чего я еще не знаю.
Спасибо за любую помощь.