Я вижу следующее поведение в компьютерах Windows 2013 и 2014a:MatLab: идентичная функция получает два разных результата
Кто-то отправляет мне файл .mat. В этом файле определена функция fi (th, beta). В командной строке я вызываю fi для двух значений (фактически бета - это матрица). Затем я нажимаю «изменить значение» для fi и ничего не меняю. Затем, когда я снова вызываю fi (th, beta), я получаю совершенно другое значение.
Как это может быть? Как я могу сказать, что такое «правильное» значение?
Какова функция, определенная в файле '.mat'? Объявление делает ли функция что-либо для изменения переменных? Вы действительно не дали достаточной информации для того, чтобы кто-нибудь дал правильный ответ, что находится в файле '.mat' и что такое функция' fi'? – David
Извините, Дэвид, я постараюсь предоставить дополнительную информацию. fi определяется как анонимная функция, на которую я полагаю: >> fi fi = @ (th, beta) D.^2. * beta (:, 1).^2. * (1-irf (th, beta)). * (IRF (й, бета) -бета (:, 3))^2./(irf(th,beta).*(1-beta(:,3)).^2).. irf - другая функция, определенная аналогично в файле .mat. –
Сначала я боялся, что, поскольку отправитель файла назвал свою переменную бета-версию, он вызывал функцию бета-тестирования, но я считаю, что это не так (потому что нотация двоеточия заставляет MatLab смотреть на матрицу бета, а не на функцию) –