Разность векторов - Обработка векторных данных средствами языка программирования Visual Basic

Разностью двух векторов и называется такой вектор, который будучи сложенным с вектором, даст. Разность двух векторов и представляется направленным отрезком, соединяющим концы этих векторов и имеющим направление "к концу того вектора, из которого вычитают".

Если для вектора ввести противоположный ему вектор, который коллинеарен вектору, имеет тот же модуль, но направлен в противоположную сторону, то разность векторов и представляется как сумма вектора и вектора, т. е. .

Сумма противоположных векторов равна нулю: .

Под произведением вектора на число понимается такой вектор, который коллинеарен вектору, имеет модуль и направлен в ту же сторону, что и -- если положительно, и в противоположную -- если отрицательно. Геометрически умножение вектора на число означает растяжение или сжатие вектора и, возможно, перемену его направления на противоположный.

Имеют место равенства:

,

,

В которых и произвольные действительные числа.

Вектор называется линейной комбинацией векторов и. Если и -- произвольные действительные числа, а и -- неколлинеарные вектора, то варьируя эти числа, можно получить произвольный вектор плоскости.

Если и -- два неколлинеарных вектора, отложенные от точки, то вектор, оканчивающийся в середине отрезка, равен полусумме векторов и, т. е. .

В общем случае, вектор точки, делящий отрезок в соотношении ( и -- положительные числа) и начинающийся в точке, дается формулой : .

Умножение вектора на число

Произведением ненулевого вектора А на число Х =/= 0 называется вектор, длина которого равна | X | * | А |, а направление совпадает с направлением А, если Х > 0, и противоположно ему, если Х < 0.

Произведением нулевого вектора на любое число Х и произведением любого вектора на число нуль называется нулевой вектор.

Произведение вектора А на число Х обозначается Х * А (числовой множитель пишется слева).

Согласно определению | X * А | = | X | * | А | для любого вектора А и любого числа Х.

На рис. 18 изображены произведения вектора А на число Х = 2 (вектор CD>) и на число Х = --2 (вектор EF>).

Умножение вектора на число обладает следующими свойствами:

1. Свойство ассоциативности (сочетательности):

Х * (У * А) = (Х * у) * А.

2. Свойство дистрибутивности (распределительности) относительно векторного множителя:

Х * А + y * А = (Х + у) * А.

3. Свойство дистрибутивности (распределительности) относительно числового множителя:

Х * А + Х * B = Х * (A + b).

Если A = 0 или Ху = 0, то равенство Х(Уа) = = (Ху)А очевидно, так как слева и справа стоят нулевые векторы.

Пусть А =/= 0, Ху =/= 0 и А = OA>. Тогда векторы Х (У * OA>) и (Ху) OA> лежат на прямой OA>, имеют длину |X| * |y| * |OA>| и направлены в одну сторону: в сторону вектора А = OA>, если Ху > 0, и в противоположную сторону, если Ху < 0. Таким образом, свойство 1 доказано.

Скалярное произведение двух векторов

В физике работа А постоянной силы F при прямолинейном движении материальной точки из положения В в положение С (рис. 52) вычисляется по формуле

Эта формула вектору силы F и вектору перемещения ВС ставит в соответствие скалярную величину -- работу. Величину А называют скалярным произведением векторов F и BC>. Скалярное произведение может быть определено для любых двух векторов. Оно широко используется в физике и в математике.

Скалярным произведением двух ненулевых векторов называется число, равное произведению длин этих векторов на косинус угла между ними.

Если из двух векторов хотя бы один нулевой, то скалярное произведение этих векторов принимается равным нулю.

Скалярное произведение векторов А и B обозначается А * B. Итак, по определению

А * B = | А | * | B | cos.

Если А = B, то скалярное произведение принимает вид А * A и называется скалярным квадратом вектора А и обозначается символом A2. Очевидно, что A2 = А * A = |А|2.

Как известно (см. § 16), проекция вектора B на ось, направление которой совпадает с направлением вектора А, выражается формулой

NpAB = | B | cos.

Используя формулы (1) и (2), можно записать

А * B = | А | npAB.

Таким образом, скалярное произведение двух векторов равно произведению длины одного из них и проекции второго вектора на направление первого.

Аналогично получается формула А * B = | B | npBA.

Взаимное расположение векторов

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

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

Взаимное расположение векторов напряжения UAX и U ах в этом случае аналогично расположению стрелок часов, показывающих 6 часов.

Поскольку взаимное расположение векторов t -, v, b не изменяется, соответствующее движение естественного трехгранника можно рассматривать как движение твердого тела: поступательное перемещение вместе с точкой М и вращение относительно этой точки с угловой скоростью И. Вектор Q называется вектором Дарбу.

В этом случае взаимное расположение векторов ti, t2, n не изменяется, и образуемый ими триедр поворачивается при переходе от точки к точке как жесткое целое.

В этом случае взаимное расположение векторов tj, t2, n не изменяется, и образуемый ими триедр поворачивается при переходе от точки к точке как жесткое целое.

Ясно, что взаимное расположение векторов на диаграмме при этом не изменилось.

На векторной диаграмме важно взаимное расположение векторов, неизменное для величин, изменяющихся с одной и той же частотой. Поэтому изображение векторов величин, изменяющихся с различной частотой, на одной и той же векторной диаграмме недопустимо, так как взаимное расположение таких векторов будет различным для разных моментов времени.

Важным частным случаем взаимного расположения векторов является тот, когда они взаимно перпендикулярны. Перпендикулярные векторы называются также ортогональными. Если нам дан некоторый набор векторов, в котором любые два вектора ортогональны друг другу, то этот набор называется ортогональной системой векторов.

На рисунке 3.5. показано взаимное расположение векторов пары и ее момента. Момент пары есть свободный вектор, так как он представляет собой скорость поступательного движения тела и может быть отнесен к любой его точке.

Описание программы

Общие сведения:

Наименование:

Программа реализующая приближенное решение векторных данных математическим способом.

Программаное обеспечение необходимое для функционирования программы:

Microsoft Visual Studio 2010

Операционные системы:

Windows Xp, Windows Vista, Windows 7

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

Visual Basic 2010.

Функциональное назначение:

Программа создана для решения систем векторных данных математическим способом.

Программа вычисляет корни всех уравнений математическим способом.

Описание логической структуры:

Используемые методы:

Технология визуального программирования. Визуальная технология программирования позволяет программисту легко и быстро легко и быстро строить наглядный графический интерфейс для своих программ на основе стандартного набора шаблонов, графически отображаемых на экране объектов.

Алгоритм:

Структура программы с описанием функций составных частей и связи между ними:

Основная часть решения задачи.

Длинна векторов

A = Math. Sqrt(x * x + y * y)

G = Math. Sqrt(x1 * x1 + y1 * y1)

Сумма векторов

B = x + x1

C = y + y1

Разность векторов

D = x - x1

F = y - y1

Умножение вектора на число

Ch = x * ch

Ch1 = x1 * ch

Ch2 = y * ch

Ch3 = y1 * ch

Скалярное произведение векторов

H = a * g * Math. Cos(u)

Взаимное расположение векторов

If (x / x1) = (y / y1) Then

Label1.Text = "Вектора коллинеарны"

Else

If (x * y + x1 * y1) = 0 Then

Label1.Text = "Вектора ортогональны"

Else

Label1.Text = "Вектора не имеют отношений"

End If

Блок отвечающий за ввод данных.

Dim x, x1, c, ch, ch1, ch2, ch3, b, d, y, y1, f, u, g, h, a As Single

TextBox5.Text = ""

TextBox6.Text = ""

TextBox7.Text = ""

TextBox8.Text = ""

X = Val(TextBox1.Text)

X1 = Val(TextBox2.Text)

Y = Val(TextBox3.Text)

Y1 = Val(TextBox4.Text)

Ch = Val(TextBox9.Text)

U = Val(TextBox11.Text)

Связи программы с другими программами:

Связи программы с другими программами отсутствуют.

Используемые технические характеристики:

Оперативная память: 2Гб;

Процессор: Intel Pentium 4, 3.00 Ггц;

Тип системы: 32 разрядная ОС;

Вызов и загрузка:

Запуск программы происходит через редактор Visual Studio 2010.

В пункте "Файл" нажимаем на "Открыть проект", далее на жестком диске находим папку с названием SLAU, в ней находим файл SLAU. vbproj. Кликаем на него, после чего запускается программа.

Входные данные:

В левом нижнем углу программы, есть несколько текстовых полей, под строкой "Решение". В эти текстовые поля нужно ввести произвольные числа.

Выходные данные:

После нажатия на кнопку "Решение", будут показаны результаты вычислений. На форме будут выведены результаты заданных вычислений: "Длинна векторов А и В", "Сумма векторов", "Разность векторов", "Умножение вектора А и В на число", "Скалярное произведение векторов".

Работа программы

Постановка задачи.

программы

Рис 1Форма программы.

Введем произвольные числа:

ввод данных

Рис 2 Ввод данных

Получим результат вычислений всех векторных величин:

выполненная программа

Рис 3 Выполненная программа

Программный код

Public Class Form1

Private Sub Button1_Click(ByVal sender As System. Object, ByVal e As System. EventArgs) Handles Button1.Click

Dim x, x1, c, ch, ch1, ch2, ch3, b, d, y, y1, f, u, g, h, a As Single

TextBox5.Text = ""

TextBox6.Text = ""

TextBox7.Text = ""

TextBox8.Text = ""

X = Val(TextBox1.Text)

X1 = Val(TextBox2.Text)

Y = Val(TextBox3.Text)

Y1 = Val(TextBox4.Text)

Ch = Val(TextBox9.Text)

U = Val(TextBox11.Text)

A = Math. Sqrt(x * x + y * y)

G = Math. Sqrt(x1 * x1 + y1 * y1)

B = x + x1

C = y + y1

D = x - x1

F = y - y1

Ch = x * ch

Ch1 = x1 * ch

Ch2 = y * ch

Ch3 = y1 * ch

H = a * g * Math. Cos(u)

If (x / x1) = (y / y1) Then

Label1.Text = "Вектора коллинеарны"

Else

If (x * y + x1 * y1) = 0 Then

Label1.Text = "Вектора ортогональны"

Else

Label1.Text = "Вектора не имеют отношений"

End If

End If

TextBox10.Text = TextBox5.Text + g. ToString

TextBox5.Text = TextBox5.Text + a. ToString

TextBox12.Text = TextBox5.Text + h. ToString

TextBox6.Text = ("{" + b. ToString + ";" + c. ToString + "}")

TextBox7.Text = ("{" + d. ToString + ";" + f. ToString + "}")

TextBox8.Text = ("{" + ch. ToString + ";" + ch2.ToString + "}" + " и " + "{" + ch1.ToString + ";" + ch3.ToString + "}")

End Sub

End Class

Похожие статьи




Разность векторов - Обработка векторных данных средствами языка программирования Visual Basic

Предыдущая | Следующая