Я не на 100% знаком с синтаксисом, который вы используете, возможно, синтаксис встроенной функции немного отличается от расширенного синтаксиса, однако похоже, что ваша функция не имеет четко определенных входных и выходных данных.Не встроенная функция Matlab должна выглядеть следующим образом:
%Comment
function [ theta ] = FunctionName( alpha, beta )
theta = alpha + beta;
end
Попробуйте создать свою функцию в отдельном файле .m (имя файла совпадает с именем функции).После того, как вы создали файл .m, убедитесь, что он находится в пути поиска MatLab (проверьте, отображает ли автозаполнение имя вашей функции, когда вы вводите его частично).
Что касается фактического тела вашегоФункция, я вижу несколько странных вещей.Что должен делать «syms x»?Я бы заменил эту строку на «x = -pi: 0.001: pi;»(пусть x будет вектором от -pi до pi с шагом 0,001).или что-то аналогичное этому.
Также для нормальной аппроксимации Тейлора я бы использовал Тейлор (sin (x), 63) (перегрузка с 'v' - приближает Макларина).Кроме того, я бы не делал приближение Тейлора до 63-1-го порядка, это слишком много, возможно, MatLab дает сбой.
На следующем рисунке вы можете видеть, что приближение 7-го порядка уже чрезвычайно хорошо между -pi и pi.![Taylor series for different orders of approximation for sin(x)](https://i.stack.imgur.com/vJhnk.png)