degtorad против deg2rad в MATLAB?

Есть ли разница между degtorad и deg2rad в MATLAB? Есть ли преимущество одного над другим, например скорость (или какой-то другой показатель, о котором я не подумал)?

http://www.mathworks.com/help/map/ref/degtorad.html http://www.mathworks.com/help/map/ref/deg2rad.html


person ErinGoBragh    schedule 07.07.2015    source источник
comment
Посмотрите, доступен ли код для публичного просмотра, используя open(deg2rad) и open(degtorad).   -  person excaza    schedule 07.07.2015
comment
Я попытался, но выдало ошибку, значит ли это, что она недоступна для публичного просмотра или я неправильно использую функцию? ›› open(deg2rad) Ошибка при использовании deg2rad (строка 11) Недостаточно входных аргументов. ›› open(degtorad) Ошибка при использовании degtorad (строка 16) Недостаточно входных аргументов.   -  person ErinGoBragh    schedule 07.07.2015
comment
упс, их нужно заключать в кавычки: open('deg2rad') и open('degtorad')   -  person excaza    schedule 07.07.2015
comment
Это сработало, спасибо :)   -  person ErinGoBragh    schedule 07.07.2015
comment
Поделитесь, пожалуйста, своими мыслями (вы можете сами ответить на вопрос). У меня нет Mapping Toolbox, но мне было бы интересно, есть ли отличия и в чем они заключаются. Благодарю вас!   -  person hbaderts    schedule 07.07.2015
comment
Спасибо за предложение проверить используемые лицензии!   -  person ErinGoBragh    schedule 07.07.2015


Ответы (2)


Спасибо, excaza, за то, что рассказали мне, как просмотреть исходный код для обеих функций.
Спасибо, hbaderts, за то, что посоветовали проверить используемые лицензии.

Вот что я нашел.

Они функционально идентичны. Вот единственные отличия, которые мне удалось найти:
1. В выделенной жирным шрифтом строке ниже указано, что deg2rad был заменен на degtorad.
2. Они используют разные лицензии. Для deg2rad требуется map_toolbox, а для degtorad — нет.

degtorad.m

function angleInRadians = degtorad(angleInDegrees)
% DEGTORAD Преобразует углы из градусов в радианы
%
% angleInRadians = DEGTORAD(angleInDegrees) преобразует угловые единицы из градусов в радианы.
%
% Пример< br> % -------
% Вычислить тангенс угла в 45 градусов
% tan(degtorad(45))
%
% См. также: fromDegrees, fromRadians, toDegrees , toRadians, radtodeg.

% Copyright 2009 The MathWorks, Inc.

угол в радианах = (pi/180) * угол в градусах;

deg2rad.m

function angleInRadians = deg2rad(angleInDegrees)
% DEG2RAD Преобразование углов из градусов в радианы
%
% DEG2RAD заменен на DEGTORAD.
%
% angleInRadians = DEG2RAD(angleInDegrees) преобразует угловые единицы из градусов в радианы.

% Copyright 2007-2009 The MathWorks, Inc.

угол в радианах = (pi/180) * угол в градусах;

Разница в лицензии:

degtorad(180)
ans =
3.1416
лицензия('inuse')
matlab

deg2rad(180)
ans =
3.1416
license('inuse')
map_toolbox
matlab

person ErinGoBragh    schedule 07.07.2015
comment
Просто чтобы действительно сбить с толку, предстоящий выпуск R2015b MATLAB вводит новые функции deg2rad и rad2deg в базовый MATLAB. Эти функции, их имена и расположение в MATLAB/Mapping Toolbox исторически были немного запутанными. Надеюсь, они в конечном итоге откажутся от deg2rad из Mapping и degtorad из MATLAB, и здравомыслие восторжествует. - person Sam Roberts; 07.07.2015
comment
Спасибо за разъяснения. Я использую 2014b, поэтому думаю, что буду придерживаться degtorad. - person ErinGoBragh; 07.07.2015
comment
@SamRoberts Просто обновление, мой офис только что перешел на MATLAB 2016a (никогда не получал 2015b), поэтому я протестировал его, и ему больше не требуется набор инструментов для любой функции. - person ErinGoBragh; 13.05.2016

Обновление: начиная с R2016a, рекомендуется deg2rad вместо degtorad. См. примечание на странице R2016a degtorad.

Как упоминалось выше, начиная с R2015b, deg2rad не требует набора инструментов. Его страница документации отображается в MATLAB.

person Karan Gill    schedule 18.05.2017
comment
Какую версию Матлаба вы используете? Спасибо за обновление! - person ErinGoBragh; 18.05.2017