
- •Оглавление
- •Глава 1. Краткие основы работы в matlab
- •1.1. Интерфейс.
- •1.2. Редактирование м-файлов
- •1.3. Построение графиков
- •1.4. Построение поверхности
- •1.5. Операции с матрицами.
- •1.6. Нелинейные уравнения и системы
- •1.7. Интегрирование
- •1.8. Решение обыкновенных дифференциальных уравнений и систем.
- •1.9. Поиск экстремума функции одной переменной.
- •1.10. Поиск экстремума функции нескольких переменной.
- •Глава 2. Моделирование простых гидравлических систем
- •2.1. Стационарный режим движения жидкости
- •Математическое описание процесса
- •Блок-схема алгоритма расчета
- •Программа расчета процесса
- •2.2. Нестационарный режим движения жидкости
- •Блок-схема алгоритма расчета
- •Программа расчета процесса
- •Глава 3. Моделирование стационарных режимов процессов теплопередачи в теплообменниках различных типов
- •3.1. Теплообменник типа смешение–смешение
- •Математическое описание процесса
- •Программа расчета процесса
- •3.2. Теплообменник типа смешение–вытеснение
- •Математическое описание процесса
- •Блок-схема алгоритма расчета
- •Программа расчета процесса
- •3.3. Прямоточный теплообменник типа труба в трубе (решение задачи Коши)
- •Математическое описание процесса
- •Блок-схема алгоритма расчета
- •Программа расчета процесса
- •3.4. Противоточный теплообменник типа труба в трубе (решение краевой задачи)
- •Математическое описание процесса
- •Программа расчета процесса
- •Блок-схема алгоритма расчета
- •Кафедра информатики и компьютерного проектирования
1.4. Построение поверхности
Обеспечивается следующим текстом программы (см. рис. 1.6)
% подготовка к построению графика
masx=xleft:hx:xright;
masy=yleft:hy:yright;
masz=fz_xy2(masx,masy); построены массивы координат для точек
%графика
mesh(masx,masy,masz); %построена сеточная поверхность
grid on;
title(‘z=-sqrt(256-x.^2-y.^2)’);
xlabel(‘X’);
ylabel(‘Y’);
zlabel(‘Z’);
text(x,y,z,’\leftarrow Minimum’);
legend(‘z(i,j)=-sqrt(256-x(i)*x(i)-y(j)*y(j))’,0);
где команда mesh(masx,masy,masz); строит сеточную поверхность .
Рис. 1.6. Пример построения поверхности
1.5. Операции с матрицами.
Пусть даны две матрицы. (Если не даны, зададим их. Пусть
A=[1 2 3; 5 67 89; 34 21 5];
B=[3 4 5; 54 32 12; 6 7 8];
Тогда имеем две матрицы 3х3 элемента).
Транспонировать матрицу можно так
A_transp=A’; где знак ’ обеспечивает транспонирование матрицы А.
Умножение матриц выполняется так
C_res_mult=A*B; где C_res_mult результат умножения матриц.
Обратная матрица находится так
А_obr=A^(-1);
Или так: A_obr=inv(A);
Поэлементное сложение матриц C=A+B;
Определитель D=det(A);
Решение системы линейных уравнений, где А матрица системы, столбец b столбец свободных членов, столбец х столбец неизвестных:
x=linsolve(A,b);
1.6. Нелинейные уравнения и системы
Решить алгебраическое уравнение вида a0xn+a1xn-1+…+an-1x+an=0 можно функцией x=roots(p); где x вектор корней алгебраического уравнения (полинома), p вектор коэффициентов полинома, то есть р=[a0 a1 … an-1 an]. Например, для уравнения х2-1=0 вектор р=1 0 -1 тогда х=roots(p) и получается, что х=1 -1. Это и есть корни уравнения.
Уравнение, в котором неизвестное входит в аргумент трансцендентных функций, называется трансцендентным уравнением. Для решения их, предварительно приведенных к виду f(x)=0, используют функцию fzero.
Формат ее вызова таков: [x,y]=fzero(name,x0); где
name имя М-функции, вычисляющей левую часть уравнения вида f(x)=0.
x0 начальное приближение или интервал его изоляции [a, b];
Например пусть f(x)= 0.2ex -2(х-1)2 тогда см. рис.1.7
На рис.1.7 показано, что при трех разных интервалах изоляции корня найдены три различных корня, которые были помещены в массив х по одному, по мере их нахождения, как х(1), х(2) и х(3), а затем выведены в строчку все три как содержимое массива х.
Аналогично поступили со значениями функции у(1), у(2) и у(3). Их нахождение было важно для контроля того, что действительно значения функции очень близки к нулю (они все получились порядка 10-15, что практически и есть ноль, с учетом вычислительных погрешностей).
Рис.
1.7. решение уравнения при различных
интервалах изоляции корня
Слева на рис.1.7 видно окно Workspace, где отображены значения переменных и их тип. В принципе, в данной задаче эта информация дублируется в обоих окнах (то есть в Command Window и в Workspace).
Содержимое функции func продемонстрировано на рис.1.8.
рис.
1.8. функция func(x)