Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Примеры простых программ



В разд. 4 было показано, как фигуры Лиссажу можно построить в командном режиме с помощью одного из важных элементов программирования – цикла.

Входим в меню File-New-M-file, открывается окно текстового редактора (рекомендуется использовать встроенный редактор, поскольку он совмещен с отладчиком), в котором необходимо набрать следующую программу:

% Построение фигур Лиссажу

x=pi*[0:0.01:2]; % Диапазон значений x (вектор)

X=sin(x);

figure % Открываем графическое окно

for k=1:6 % Кратность частот до 6

Y=cos(k*x); % Гармоническая функция k-й кратности

plot(X,Y)) % Построение фигур Лиссажу

grid % Координатная сетка

pause % Пауза до нажатия клавиши [Enter]

End

title('Фигуры Лиссажу') % Название графика

xlabel('sin(x)') % Надпись по оси х

ylabel('cos(kx)') % Надпись по оси y

Pause

close % Закрываем графическое окно

Фигуры Лиссажу относятся к числу параметрических зависимостей Y(X), поскольку исключена переменная х.

Структура текста приведенной упрощена для большей наглядности, хотя в принципе MATLAB не накладывает жесткие требования, за исключением того, что операторы, записываемые в одну строку, должны отделяться запятыми (как в командном режиме). В тексте script-файла символы (,) в конце строки могут быть опущены [3]. В первой же строке символ (;) должен быть оставлен, чтобы подавить вывод значений x на экран. Сохраняем файл в пользовательской папке, присвоив ему имя lissajou.m(расширение *.m присваивается автоматически), и закрываем окно редактора.

Чтобы запустить программу, с помощью главного меню (File-Run Script…)вызываем диалоговое окно.

Теперь можно в соответствии с приглашением (Type the name of the script you want to run = Введите имя script-файла, который вы хотите запустить на исполнение) ввести полный путь к файлу или воспользоваться поисковой системой (Browse…).

Чтобы автоматизировать процедуру запуска программы в дальнейшем, набирая обычную команду системы MATLAB (» lissajou),необходимо воспользоваться кнопкой Path Browser на панели инструментов, которая вызывает диалоговое окно. С помощью этого окна находят нужную папку (Browse…), а затем вводят команду File-Save Path.В этом случае путь сохраняется до конца текущей сессии. Чтобы зафиксировать этот путь, необходимо ввести команду Path-Add to Path…(путь хранится в файле pathdef.m); для удаления пути из памяти используют команду Path-Remove from Path.

Семейство экспонент (файл exponent.m)

% Построение экспонент

x=0:0.025:6; % Диапазон значений x

figure % Открываем графическое окно

for k=0.5:0.5:4 % Параметр экспоненты задан с шагом 0.5

y=1-exp(-k*x); % Уравнение экспоненты

plot(x,y) % Построение графика экспоненты

pause(1) % Пауза 1 с

hold on % Фиксация графика на экране

End

Grid

xlabel('x') % Надпись по оси абсцисс

ylabel('y') % Надпись по оси ординат

gtext('k=0.5') % Надпись около первой кривой

gtext('k=4.0') % Надпись около последней кривой

gtext('Экспоненты: 1-exp(-kx)’) % Название графика

pause % Пауза (до нажатия клавиши [Enter])

close % Закрываем графическое окно

Программа построения семейства спиралей в многооконном формате (файл spiral.m):

% Многооконная графика

tet=0:0.01:20;

teta0=input('teta0 => ') % Начальное значение полярного угла

teta=tet+teta0;

m=input('m ==> '); % Ввод числа подокон по вертикали

n=input('n ==> '); % и по горизонтали

p=m*n; % Общее число окон

figure % Открываем графическое окно

k=1;

for b=0:0.1:1

subplot(m,n,k) % Открываем k-е подокно (k <= p)

r=exp(-b*tet); % Уравнение спирали

Polar(teta,r)

Grid

Pause(1)

k=k+1;

if k>p % Если k > p, начинается новый

k=1; % отсчет подокон

clf % Очистка окна

End

End

Pause

Close

Построим графики эпициклоиды и гипоциклоиды. Кривую, называемую эпициклоидой, описывает точка окружности радиусом a, которая катится без скольжения по направляющей окружности радиусом b. Ее уравнения в параметрической форме:

Вид кривых зависит от значения параметра : если m – целое число, кривая состоит из m равных дуг (при получается кардиоида, или улитка Паскаля); если , где p и q – целые числа, кривая состоит из p равных пересекающихся дуг; если m – число иррациональное, кривая состоит из бесконечного числа равных друг другу дуг (кривая не замкнута). Если множитель l отличен от единицы, то получаем, соответственно, либо укороченную ( ), либо удлиненную ( ) эпициклоиду.

Программа epi.mреализуетпостроение графика параметрической зависимости:

% Построение эпициклоиды

fi=0:0.01:8*pi;

lam=input(‘lam ==> ‘);

a=input('a ==> ');

b=input('b ==> ');

m=b/a

x=(a+b)*cos(fi)-lam*a*cos((a+b)*fi/a);

y=(a+b)*sin(fi)-lam*a*sin((a+b)*fi/a);

Plot(x,y)

Grid

Title('Эпициклоида')

Pause

Close

Если окружность радиусом a катится внутри окружности радиуса b, точка описывает кривую, называемую гипоциклоидой; ее уравнения:

В этом случае очевидно, что всегда : при получаем гипоциклоиду с тремя ветвями; при астроида.

В зависимости от значения параметра l, как и в предыдущем случае, гипоциклоида будет укороченной или удлиненной.

Данную кривую можно построить с помощью программы (hipo.m):

% Построение гипоциклоиды

fi=0:0.01:8*pi;

lam=input(‘lam ==> ‘);

a=input('a ==> ');

b=input('b ==> ');

m=b/a

x=(b-a)*cos(fi)+lam*a*cos((b-a)*fi/a);

y=(b-a)*sin(fi)-lam*a*sin((b-a)*fi/a);

Plot(x,y)

Grid

Title('Гипоциклоида')

Pause

Clf

 

 

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.