Примеры решения научно-технических задач

Математика MATLAB

Пример функции с встроенной подфункций

Подфункции определены и действуют локально, т. е. только в пределах т-файла, определяющего основную функцию. Команда help пате выводит комментарий, относящийся только к основной функции, тогда как команда type name выводит весь листинг m-файла. Так что заданные в некотором m-файле подфункции нельзя использовать ни в командном режиме работы, ни в других т-файлах. При обращении к функции интерпретатор системы MATLAB прежде всего просматривает m-файл на предмет выявления подфункций. Если они обнаружены, то задаются как локальные функции. Благодаря локальному действию подфункций их имена могут совпадать с именами основных функций системы. Если в функции и подфункциях должны использоваться общие переменные, их надо объявить глобальными как в функции, так и в ее подфункциях.

 

Сравнение времен вычислений

Теперь определим время, необходимое для вычисления функции/(л:) в 1000 точек, используя первоначальное интегральное определение, и сравним его с временем, требующимся для схемы MinimaxApprox в виде непрерывной дроби. Так как наше приближение будет давать только 6 точных цифр, мы также потребуем 6 точных цифр и от интегрального представления функции:

> Digits :=б: St :=time():

> seq( evalf(f(i/250.0)), i = 1..1000 ):

> oldtime := time() - st;

oldtime-81.805

В процессе вычислений с использованием представления рациональной функции в виде непрерывной дроби иногда требуется внести несколько дополнительных цифр точности для страховки. В данном случае достаточно внести две дополнительные цифры. Итак, новое время вычислений:

> Digits := 8: st := tirae():

> seq( MinimaxApprox(i/250.0), i = 1..1000 ):

> newtime :» time()- st;

newtime:= .694 

Ускорение вычисления при аппроксимации есть:

> SpeedUp := oldtime/newtime;

SpeedUp:=U7.S7464

Мы видим, что процедура вычислений, основанная на MinimaxApprox, выполняется почти в 120 раз быстрее процедуры с использованием исходного интегрального определения. Это просто феноменальный успех, полностью оправдывающий время, потерянное на предварительные эксперименты по аппроксимации и ее оптимизации! Разумеется, при условии, что вы будете применять эту аппроксимацию многократно.

Физика, математика лекции учебники курсовые студенту и школьнику