Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа 1 МАТЛАБ 2.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
341 Кб
Скачать
☆

Анимационная и дескрипторная графика

Файл- программа , демонстрирующая задание свойств в аргументах

графических функций :

t = [0:0.1:7];

x = sin(t);

y = cos(t);

axes('XGrid','on')

hold on

plot(t,x,'Color','k','LineWidth',3)

plot(t,y,'Color','k','Marker', 'o','MarkerFaceColor','w',...

'MarkerFaceColor','w','Ma rkerEdgeColor','k');

Файл- программа , располагающая графическое окно на весь экран:

% Нахождение размеров экрана

SCRsize = get(0, 'ScreenSize')

% Область окна начинается от левого и нижнего края экрана ,

% рамка не нужна

left = SCRsize(1);

bottom = SCRsize(2);

% Ширина области окна равна ширине экрана

width = SCRsize(3);

% Высота окна вычисляется с учетом ширины заголовка окна

height = SCRsize(4)-19;

% Создание окна без меню, рабочая область и заголовок растянуты

% на весь экран, границы не отображаются

figure('Position', [left bottom wi dth height], 'Menu', 'none')

Файл- программа , демонстрирующая вывод текста в графическое окно:

% Формирование массива ячеек строк

strmas{1} = ['Fmin = ', num2str(fmin)];

strmas{2} = ['Xmin = ', num2str(minvalue)];

strmas{3} = ['Xzero = ', num2str(zero)];

% Создание вспомогательных невидимых осей ,

% таких же размеров , как графическое окно

HHelpAx = axes;

set(HHelpAx, 'Position', [0 0 1 1], 'Visible', 'off')

% Вывод текста во вспомогательные оси

HInfo = text(0.6, 0.3, strmas);

% Установка свойств шрифта

set(HInfo, 'FontSize', 12, 'FontWeight', 'bold')

Файл- функция для создания двух графических окон:

function HFigs = fig2

% Создание двух графических окон равной высоты, делящих экран

% на две части по вертикали. Возвращает вектор указателей на окна

% Использование HFigs = fig2

% Нахождение размеров экрана

SCRsize = get(0, 'ScreenSize');

% Выделение ширины и высоты экрана

SCRwidth = SCRsize(3);

SCRheight = SCRsize(4);

% Ширина, высота и отступ слева одинаков для обоих окон

width = SCRwidth-5-3;

height = (SCRheight-19-5-3-19-5-3)/2;

left = 5;

% Отступ снизу для нижнего графического окна равен 5 пикселям

bottom2 = 5;

% Вычисление отступа снизу для верхнего окна с учетом толщины

% рамок и заголовка нижнего окна и толщины верхней рамки нижнего

% окна

bottom1 = 5+height+19+5+3;

% Создание окон без меню, рамки отображаются

HFigs(1) = figure('Position', [left bottom1 width height],...

'Menu', 'none', 'Color', 'w');

HFigs(2) = figure('Position', [left bottom2 width height],...

'Menu', 'none', 'Color', 'w');

Файл- функция , предназначенная для исследования функций :

function zeroandmin(funname, a, b);

% Исследование поведения функций вблизи корня и

% локального минимума на отрезке [a,b]

% Использование zeroandmin(funname, a, b);

% Формирование параметров функций fzero и fminbnd

% Подавление вывода в командное окно информации о ходе вычислений

options = optimset('Display', 'off');

% Поиск нуля функции на [a,b]

zero = fzero(funname, [a b], options);

% Поиск локального минимума функции на [a,b]

minvalue = fminbnd(funname, a, b, options);

% Создание окна

HF = figure('Menu', 'none', 'Color', 'w');

% Использование axes3 для построения трех осей

HAx = axes3(HF);

% Задание delta для вывода графиков вблизи корня и

% локального минимума

delta = (b-a)/30;

axes(HAx(1)) % оси с указателем HAx(1) стали текущими

% Вывод графика функции вблизи ее минимума на верхние левые оси

fplot(funname, [minvalue- delta minvalue+delta])

axes(HAx(2)) % оси с указателем HAx(2) стали текущими

% Вывод графика функции вблизи ее нуля на верхние правые оси

fplot(funname, [zero- delta zero+delta])

axes(HAx(3)) % оси с указателем HAx(3) стали текущими

% Вывод графика функции на [a,b] на нижние оси

fplot(funname, [a b])