Вычислить косинус угла между векторами a и b размерностью n 10 по формулев паскале или делфи

26 Дек 2019 в 19:42
152 +1
0
Ответы
1

Для вычисления косинуса угла между двумя векторами a и b размерности n = 10 в Pascal или Delphi можно воспользоваться следующей формулой:

cos(angle) = (a b) / (|a| |b|),

где a * b - скалярное произведение векторов a и b, |a| и |b| - длины векторов a и b соответственно.

Пример решения на Pascal:

program cosine_angle
va
a, b: array[1..10] of Integer
scalar_product, a_length, b_length, angle: Real
i: Integer
begi
// Инициализация значений векторов a и
for i := 1 to 10 d
begi
a[i] := i
b[i] := 2*i
end;

// Вычисление скалярного произведения векторо
scalar_product := 0
for i := 1 to 10 d
scalar_product := scalar_product + a[i] * b[i];

// Вычисление длин векторо
a_length := 0
b_length := 0
for i := 1 to 10 d
begi
a_length := a_length + a[i] a[i]
b_length := b_length + b[i] b[i]
end
a_length := sqrt(a_length)
b_length := sqrt(b_length);

// Вычисление косинуса угл
angle := scalar_product / (a_length * b_length);

writeln('Cosine of the angle between vectors a and b: ', angle:0:4);

end.

Пример решения на Delphi:

program cosine_angle
va
a, b: array[1..10] of Integer
scalar_product, a_length, b_length, angle: Real
i: Integer
begi
// Инициализация значений векторов a и
for i := 1 to 10 d
begi
a[i] := i
b[i] := 2*i
end;

// Вычисление скалярного произведения векторо
scalar_product := 0
for i := 1 to 10 d
scalar_product := scalar_product + a[i] * b[i];

// Вычисление длин векторо
a_length := 0
b_length := 0
for i := 1 to 10 d
begi
a_length := a_length + a[i] a[i]
b_length := b_length + b[i] b[i]
end
a_length := sqrt(a_length)
b_length := sqrt(b_length);

// Вычисление косинуса угл
angle := scalar_product / (a_length * b_length);

writeln('Cosine of the angle between vectors a and b: ', angle:0:4);

end.

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

18 Апр в 22:51
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 90 559 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир