Варианты заданий
5. | 6. | ||
7. | 8. | ||
9. | 10. | ||
11. | 12. | ||
13. | 14. | ||
15. | 16. | ||
17. | 18. | ||
19. | 20. | ||
21. | 22. | ||
23. | 24. | ||
25. | 26. | ||
27. | 28. | ||
29. | 30. | ||
31. | 32. | ||
33. | 34. | ||
35. | 36. |
Типы М-файлов.
М-файлы бывают двух типов. Вычисления в среде MATLAB возможны в текстовых файлах с расширением.m:
1. файл-программы (script m-files) – последовательность команд, оформленная в виде файла с именем и расширением.m.
2. файл-функции (function m-files) – файл, в котором описываются функции, определяемые пользователем. Файл-функции могут принимать исходные данные в виде набора входных параметров и выдавать результаты. Файл-функция всегда должна состоять из следующих частей:
Øзаголовок функции: включает объявление function, уникальное имя функции, список входных и выходных параметров;
Øтело функции: состоит из инструкций MATLAB.
Для создания файл-функции вызывается редактор М-файлов. После ввода текст файл-функции сохраняют в текущем рабочем каталоге, при этом в соответствующем окне автоматически появляются имя и тип файл-функции (содержимое этих полей менять нельзя). Файл-функция может использоваться как в командном режиме, так и вызываться из других файл-программ и файл-функций. При ее вызове указываются все входные и выходные параметры.
Структура функции с несколькими выходными параметрами имеет вид:
function[y1,y2,…,yn]=имя_функции(список входных параметров)
% комментарий
y1 = выражение
y2 = выражение
...
yn = выражение
Вызов такой функции выполняется следующим образом:
[y1,y2,…,yn]=имя_функции(список входных параметров)
Иногда при написании файл-функций требуется создание так называемых внутренних функций, в которых выполняются промежуточные вычисления. Они записываются в теле основных функций и имеют аналогичный им синтаксис. Это могут быть подфункции и встроенные функции. Они являются локальными и могут выполняться только в пределах основной файл-функции. Файл-функция может включать одну или несколько таких функций. Их отличие заключается в следующих деталях.
Подфункция имеет структуру основной файл-функции и располагается после нее. Кроме того, данные из основной файл-функции, не являющиеся входящими параметрами подфункции, не доступны в теле подфункции, либо должны быть объявлены глобальными как в основной, так и в подфункции.
Встроенная функция имеет структуру основной файл-функции, но в этом случае и основная и встроенная функция должны иметь в качестве последнего оператора оператор end. При этом встроенная функция располагается в любом месте основной функции. Кроме того, данные из основной файл-функции доступны в теле встроенной функции.
Пример 1. Табулирование функции на отрезке [ , ] с последующим построением графика, а также выдачей максимального и минимального значения функции и точек, где эти значения достигаются.
, ,
Пример текста М-файла
function tab31
xn=input('введите начальное значение xn=');
xk=input('введите конечное значение xk=');
n=input('введите значение n=');
h=(xk-xn)/n;
x=xn:h:xk;
for i=1:n+1
y(i)=f(x(i));
End
[fmin,imin]=min(y);
[fmax,imax]=max(y);
fprintf('\nfmin=%8.2f в точке xmin=%6.2f\nfmax=%8.2f в точке xmax=%6.2f\n',...
fmin,x(imin),fmax,x(imax))
plot(x,y),grid on
% подфункция
function v=f(x)
if x<=-1
v=exp(x);
elseif abs(x)<1
v=1/(1-abs(x));
else
v=1/x;
end
Результаты счета
введите начальное значение xn=-3
введите конечное значение xk=3
введите значение n=20
fmin= 0.05 в точке xmin= -3.00
fmax= 10.00 в точке xmax= -0.90
Пример 2. Построение графика функции на отрезке [ , ] без табулирования.
,
Пример текста М-файла
function tab31plot
xn=input('введите начальное значение xn=');
xk=input('введите конечное значение xk=');
fplot(@f,[xn,xk]),grid on
% подфункция
function v=f(x)
if x<=-1
v=exp(x);
elseif abs(x)<1
v=1/(1-abs(x));
else
v=1/x;
end
Результаты счета
Точка минимума функции
Точка максимума функции
Пример 3. Построение графика функции на отрезке [ , ] без табулирования.
,
Пример текста М-файла
function f30plot
xn=-3*pi;
xk=3*pi;
fplot(@f,[xn,xk]),grid on
% подфункция
function v=f(x)
s=sin(x);
if s>0
v=s+atan(1/s);
else
v=x*exp(s);
end
Результаты счета
Точка минимума функции
Точка максимума функции
Нулевая точка функции:f(x)=0
Меню: T ools ® D ata Statistics
Поставить флажки