То, что вы пытаетесь сделать, это создать файл функции сценария, но у вас не -функция в начале вашего файла. Вы не можете этого сделать. Таким образом, вам нужно удалить оператор syms x y
в начале вашего кода. Кроме того, вы не заявляете свою функцию должным образом. Вы должны использовать раунд брекеты, а не квадратные фигурные скобки, чтобы определить ваши входные параметры.
Я бы также использовал atan2
вместо atan
, потому что он находит правильный четырехквадрантный дуготанген декартовых координат. Кроме того, используйте sqrt
не ^.5
, чтобы взять квадратный корень. Это более стабильно. Кроме того, чтобы правильно обрабатывать векторные входы, вам необходимо убедиться, что x
и y
используют .^2
в калькуляторе r
, а не ^2
. Таким образом, сделать это вместо того, чтобы:
function [r,theta]=something(x,y) %// Change
r=sqrt(x.^2 + y.^2); %// Change
theta=atan2(y, x); %// Change
end
место, что в файл с именем something.m
, то вы можете перейти в командную строку и выполните следующие действия:
[r,theta] = something(x,y);
x
и y
являются x
и y
значения ваши декартовы координаты. Замечательно то, что x
и y
могут быть единственным значением, вектором или матрицей любого размера.
@RyanK, пожалуйста, не используйте встроенный синтаксис кода для вещей, которые не являются кодом, например названиями продуктов. – gunr2171