Я хочу иметь файл std.m для стандартного отклонения. Он находится в утилите data funbox, но по ошибке я изменил код, и команда std
больше не работает. Как запустить команду std
(стандартное отклонение)?Сложная встроенная функция - стандартное отклонение
ответ
Принимая все комментарии из, функция std.m
на самом деле очень проста:
function y = std(varargin)
y = sqrt(var(varargin{:}));
Это определение standard deviation
: квадратный корень из Variance
.
- Набор встроенных функций для Read-Only
Теперь не идут ломать файл var.m
, потому что он является более сложным, и мне интересно, если бы авторские права вопрос, отобразите список здесь.
Чтобы избежать проблемы взлома встроенных файлов рекомендуется установить все панели инструментов файлы Matlab, как Read Only. Я помню старый установщик Matlab, дающий возможность сделать это во время установки. Я не знаю, может ли программа установки по-прежнему предлагать эту опцию, но если это не очень просто сделать вручную (на Windows, просто выберите свои папки, щелкните правой кнопкой мыши Properties
, отметьте только и примите для распространения свойство для всех подпапок и файлов).
- Перегрузки
Как только это будет сделано, ваши встроенные файлы безопасны. Вы по-прежнему можете изменить поведение по умолчанию встроенной функции на перегрузкой. Это состоит в написании функции с тем же именем и организации ее вызова до функции по умолчанию (ваша функция перегрузки становится стандартной).
Этот article объясняет, как перегружать пользовательские функции.
Matlab не рекомендует напрямую перегружать встроенные функции (а называть его другим именем, как mySTD.m
, например), но если вы настаиваете, что это вполне возможно, и еще гораздо лучший вариант, чем модификации встроенный функция ... , по крайней мере, первоначальная функция все еще не установлена где-то.
'function y = std (varargin); y = sqrt (var (varargin {:})); 'Это содержимое функции' std.m'. Исправьте его, затем сразу же установите все ваши встроенные файлы Matlab в ** только для чтения ** – Hoki
Эй, Хоки, спасибо за вашу помощь. Конечно, я изменю свои встроенные infiles только для чтения: D –
@ Хоки пост в качестве ответа? – Dan