- •Задачи нестационарной теплопроводности в технологии кпэ оглавление
- •1. Физические основы передачи тепла
- •1.1 Температурное поле
- •1.2.Основной закон теплопроводности.
- •1.4. Модели обрабатываемых деталей.
- •1.5. Температурное поле мгновенного точечного источника теплоты (мти).
- •1.5.1 Температурное поле мти в полубесконечном теле.
- •1.5.2 Температурное поле мгновенного линейного источника.
- •1.5.3 Температурное поле мгновенного плоского источника.
- •1.6 Температурное поле точечного источника теплоты постоянной интенсивности (пти).
- •1.6.1 Температурное поле пти в полубесконечном теле.
- •1.6.2 Температурное поле постоянно действующего линейного источника (пли)
- •1.6.3 Температурное поле постоянно действующего плоского источника (ппи)
- •1.7 Температурное поле импульсного точечного источника теплоты (ити) в полубесконечном теле.
- •2. Работа с системой matlab.
- •2.1 Введение.
- •2.2 Рабочая среда matlab.
- •2.3 Основные объекты matlab
- •2.4 Просмотр и уничтожение переменных
- •2.5 Форматы вывода результатов вычислений.
- •2.6 Операторы и функции
- •2.7 Работа с массивами данных
- •2.8 Векторы-столбцы, векторы-строки, сложение и вычитание векторов.
- •2.9 Поэлементные операции с векторами
- •2.10 Построение таблицы значений функции
- •2.11 Основы графического представления результатов вычислений.
- •2.11.1 Построение графика функций одной переменной
- •2.11.2 Построение трехмерных графиков.
- •2.12 Основы программирования.
- •2.14 Особенности применения matlab для исследования температурных полей.
2.9 Поэлементные операции с векторами
В этом разделе подробно описаны возможности поэлементной работы с векторами, которые понадобятся в дальнейшем для определения собственных функций и построения их графиков.
Введите две вектор-строки:
>>v1=[2 -3 4 1];
>>v2=[7 5 -6 9];
Операция; .* (не вставляйте пробел между точкой и звёздочкой!) приводит к поэлементному умножению векторов одинаковой длины. В результате получается вектор, с элементами, равными произведению соответствующих элементов исходных векторов:
>>u=v1.*v2
u=
14 -15 -24 9
При помощи операции; .^ осуществляется поэлементное возведение в степень:
>>p=v1.^2
p=
4 9 16 1
показателем степени может быть вектор той же длины, что и возводимый в степень, равную соответствующему элементу второго вектора:
>>P=v1.^v2
P=
128.0000 -243.0000 0.0002 1.0000
Деление соответствующих элементов векторов одинаковой длины выполняется с использованием операции; ./
>>d=v1./v2
d=
0.2857 -0.6000 -0.6667 0.1111
Обратное поэлементное деление (деление элементов второго вектора на соответствующие элементы первого) осуществляется при помощи операции; .\
>>dinv=v1.\v2
dinv=
3.5000 -1.6667 -1.5000 9.0000
Итак, точка в MatLab используется не только для ввода десятичных дробей, но и для указания того, что деление или умножение массивов одинакового размера должно быть выполнено поэлементно.
К поэлементным, относятся и операции с вектором и числом. Сложение вектора и числа не приводит к сообщению об ошибке. MatLab прибавляет число к каждому элементу вектора. То же самое справедливо и для вычитания:
>>v=[4 6 8 10];
>>s=v+1.2
s=
5.2000 7.2000 9.2000 11.2000
>>s1=1.2+v
s1=
5.2000 7.2000 9.2000 11.2000
>>r=1.2-v
r=
-2.8000 -4.8000 -6.8000 -8.8000
>>r1=v-1.2
r1=
2.8000 4.8000 6.8000 8.8000
Умножать вектор на число можно как справа, так и слева:
>>v=[4 6 8 10]
>>p=v*2
p=
8 12 16 20
>>p1=2*v
p1=
8 12 16 20
Делить при помощи знака / можно вектор на число:
>>p=v/2
p=
2 3 4 5
Попытка деления числа на вектор приводит к сообщению об ошибке:
>>p=2/v
??? Error using ==> /
Matrix dimensions must agree.
Это связано с тем, что операция / в MatLab предназначена, в частности, для решения систем линейных алгебраических уравнений. Если требуется разделить число на каждый элемент вектора, то следует использовать операцию ./
>>w=[4 2 6]
>>d=12./w
d=
3 6 2
Все вышеописанные операции применимы как к векторам строкам, так и к векторам столбцам.
Разберём, как правильно транспонировать и вычислять сопряжённые векторы в MatLab. В математике, для вектора столбца u, к примеру с тремя комплексными элементами (в частности и с вещественными), сопряжённый к нему u* определятся как вектор-строка из его комплексно-сопряжённых элементов а транспонированный uт – просто как вектор-строка из его элементов например
u*=[3-3i 1+2i 3-2i] uт=[2+3i 1-2i 3+2i]
Аналогично определяется сопряжение и транспонирование для вектора строки, приводящее к вектору столбцу. Для векторов, состоящих только из действительных чисел, операции сопряжения и транспонирования совпадают.
Для нахождения сопряжённого вектора в MatLab используется апостроф, а для транспонирования следует применять точку с апострофом:
>>u=[2+3i;1-2i;3+2i];
>>v=u’
v=
2.0000 – 3.0000i 1.0000 + 2.0000i 3.0000 – 2.0000i
>>v=u.’
v=
2.0000 +3.0000i 1.0000 - 2.0000i 3.0000 + 2.0000i
Операции .' и ' над вещественными векторами приведут к одинаковым результатам.
