русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Построение трехмерных графиков.


Дата добавления: 2013-12-23; просмотров: 933; Нарушение авторских прав


Команда plot3(x,y,z) является аналогом команды plot, но относится к функции двух переменных z(x,y). Она строит аксонометрическое изображение трехмерной поверхности.

Команды вывода графиков:

mesh – сетчатые графики с окраской;

meshgrid - сетчатые графики с проекциями;

meshz строение поверхности столбцами;

surf - построение поверхности с окраской;

surfc – построение поверхности с окраской с дополнительным построением контурного графика поверхности;

surfl - построение освещенной поверхности.

Пример. В начале программы обнуляются массивы Zto=zeros(kolPi21,kolN); XN=zeros(1,kolN); YPi=zeros(1,kolPi21); Далее в эти массивы вводятся значения конструктивного коэффициента, отношения площадей торцов поршня, для которых рассчитываются значения искомой величины времени прямого ходя Zto. Построение графиков

%повер.врем.пр.хода

[X1,Y1]=meshgrid(XN,YPi);

figure(u)

mesh(X1,Y1,Zto);

hold on обеспечивает вывод графиков в одно графическое окно

mesh(X1,Y1,todelt);

yrovdelt=contour(X1,Y1,Zdelt); построение контурного графика

%постр.конт.задан.уровн. построение контурных графиков

contour(X1,Y1,Zdelt,[0.25 0.25])

contour(X1,Y1,Zdelt,[0.6 0.6])

clabel(yrovdelt) маркировка линий уровня на контурном графике

xlabel('констр. коэф., N'); установка осевых надписей

ylabel('отнош.площ., Pi21');

zlabel('врем.пр.хода, to');

title([nazv3 num2str(chi)]); установки титульной надписи

axis([Nn Nk Pi21n Pi21k]) пределы измерений по осям

colorbar('vert'); вывод вертикальной шкалы цветов на экран

hold off

 

%задан.мас.

Xs=[1 2 3 4];

Ys=[5 6 7 8 9];

Zs=[23 45 50 67; 20 40 50 60; 15 3 5 7; 10 2 4 5; 1 2 3 4]

%созд.коорд.сетки

[X1,Y1]=meshgrid(Xs,Ys)

figure(3)

mesh(X1,Y1,Zs)

hold on

yrov=contour(X1,Y1,Zs)

contour(X1,Y1,Zs,[1 1]) последний вектор указывает высоты??



[yrov,H]=contour(X1,Y1,Zs)

clabel(yrov) маркировка линий уровня

axis tight установка диапазонов координат по осям в соответствии с диапазоном изменения данных

Xa=zeros(10,1);

Ya=Xa;Za=Xa;

for j=1:5

for i=1:30

Xa(i)=i;

Ya(i)=i+5;

%Za(i,j)=i*2+j/2;

end

end

%созд.коорд.сетки

[X,Y]=meshgrid(Xa,Ya)

Za=X.*0.5+Y.^2

%figure(1)

r=zeros(30,30);

%r(:,1)=Xa;

%r(:,3)=Za;

%plot3(X,Y,Za);

%figure(2)

%meshz(X,Y,Za)

%задан.мас.

Xs=[1 2 3 4];

Ys=[5 6 7 8 9];

Zs=[23 45 50 67; 20 40 50 60; 15 3 5 7; 10 2 4 5; 1 2 3 4]

Zd=zeros(5,4);

Zd(:,1)=20;

Zd(:,2)=30;

Zd(:,3)=30;

Zd(:,4)=30;

 

%созд.коорд.сетки

[X1,Y1]=meshgrid(Xs,Ys)

figure(3)

mesh(X1,Y1,Zs)

hold on

yrov=contour(X1,Y1,Zs)

contour(X1,Y1,Zs,[1 1])

[yrov,H]=contour(X1,Y1,Zs)

clabel(yrov)

axis tight

 

nazv3='зависимость врем.пр.хода to от N и Pi21 при chi=';

nazv4='зависимость характ.парам. delt от N и Pi21 при chi=';

xlabel('констр. коэф., N');

ylabel('отнош.площ., Pi21');

zlabel('врем.пр.хода, to');

title(nazv3);

colorbar('vert')

hold off

%hold on

 

figure(4)

hold on

yrovdelt=contour(X1,Y1,Zs);

yrovto=contour(X1,Y1,Zd);

%постр.конт.задан.уровн.

contour(X1,Y1,Zs,[25 25])

%contour(X1,Y1,Zs,[6 6])

%contour(X1,Y1,todelt,[0.0 0.0])

clabel(yrovdelt)

clabel(yrovto)

xlabel('констр. коэф., N');

ylabel('отнош.площ., Pi21');

%title([nazv4 num2str(chi)]);

%axis([Nn Nk Pi21n Pi21k])

grid

hold off

 

Решатели ОДУ (Дьяконов стр. 414)

Для решения систем ОДУ в MatLAB реализованы различные методы. Их реализации названы решателями ОДУ.

Название solver(решатель) означает один из возможных численных методов решения ОДУ.

Решатели реализуют следующие методы решения систем дифференциалы уравнений, причем для решения жестких систем уравнений рекомендуется использовать только специальные решатели ode155, ode23s, ode23t;, ode23tb:

- ode45 — одношаговые явные методы Рунге-Кутта 4-го и 5-го порядка. Это классический метод, рекомендуемый для начальной пробы решения. Во многих случаях он дает хорошие результаты, процедура требует, чтобы вектор производных был вектором-столбцом;

- ode23 — одношаговые явные методы Рунге-Кутта 2-го и 4-го порядка. При умеренной жесткости системы ОДУ и низких требованиях к точности этот метод может дать выигрыш в скорости решения;

- ode113 — многошаговый метод Адамса-Башворта-Мултона переменного порядка. Это адаптивный метод, который может обеспечить высокую точность решения;

- ode23tb — неявный метод Рунге-Кутта в начале решения и метод, использующий формулы обратного дифференцирования 2-го порядка в последующем. Несмотря на сравнительно низкую точность, этот метод может оказаться более эффективным, чем ode15s;

- ode15s — многошаговый метод переменного порядка (от 1 до 5, по умолчанию 5), использующий формулы численного дифференцирования. Это адаптивный метод, его стоит применять, если решатель ode45 не обеспечивает решения;

- ode23s — одношаговый метод, использующий модифицированную формулу Розенброка 2-го порядка. Может обеспечить высокую скорость вычислений при низкой точности решения жесткой системы дифференциальных уравнений;

- ode23t: — метод трапеций с интерполяцией. Этот метод дает хорошие результаты при решении задач, описывающих колебательные системы с почти гармоническим выходным сигналом;

- bvp4c служит для проблемы граничных значений систем дифференциальных уравнений вида у'=f(t,y), F(y(a),y(b),p)=0 (краевая задача);

- pdepe нужен для решения систем параболических и эллиптических дифференциальных уравнений в частных производных, введен в ядро системы для поддержки новых графических функций Ореn GL, пакет расширения Partial Differential Equations ToolBox содержит более мощные средства.

Все решатели могут решать системы уравнений явного вида у'=F(t,y). Решатели ode15s и ode23t; способны найти корни дифференциально-алгебраических уравнений М(t)у'=F(t,y), где М называется матрицы массы. Решатели ode15s, ode23s, ode23t и ode23tb могут решать уравнения неявного вида М(t,у)y’=F(t,y). И наконец, все решатели, за исключением ode23s, который требует постоянства матри-1 массы, и bvp4c, могут находить корни матричного уравнения вида М(t, у)y’=F9t,y). ode23tb, ode23s служат для решения жестких дифференциальных урав­няй , ode15s -жестких дифференциальных и дифференциально-алгебраических уравнений, ode23t -умеренно жестких дифференциальных и дифференциально-алгебраических уравнений.

Использование решателей систем ОДУ (Дьяконов стр. 415)

В описанных далее функциях для решения систем дифференциальных уравнений приняты следующие обозначения и правила:

option — аргумент, создаваемый функцией odeset;

tspan — вектор, определяющий интервал интегрирования [[t0 tfinal]. Для получения решений в конкретные моменты времени t0, t1,..., tfinal (расположенные в порядке уменьшения или увеличения) нужно использовать tspan = [t0, t1,..., tfinal];

у0 — вектор начальных условий;

р1, р2,... — произвольные параметры, передаваемые в функцию F;

Т, Y — матрица решений Y, где каждая строка соответствует времени, возвращенном в векторе-столбце Т.



<== предыдущая лекция | следующая лекция ==>
Процедура plot. | Описание функций для решения систем дифференциальных уравнений


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.005 сек.