Технологии
Как перемножить элементы строки в матрице, которые принадлежать диапазону [a,b]? - вопрос №5095063
Например у нас есть матрица: 1.192 1.192 2.255 0.011 2.167 1.192 1.192 2.255 0.011 2.167 2.255 2.255 1.734 0.109 5.810 0.011 0.011 0.109 0.420 1.081 2.167 2.167 5.810 1.081 0.191 Нам нужно получить вектор [x1, x2, x3, x4, x5], где x1=умноженные элементы первой строки, которые принадлежат диапазону [2;10]; x2=умноженные элементы второй строки, которые принадлежат диапазону [2;10]; x3=аналогично; Если посчитать то в итоге мы должны получить vector=[4.887, 4.887, 29.544, 0, 27.283]. Желательно решить задачу через процедуры
март 9, 2023 г.
-
Всего ответов: 1
-
Для решения данной задачи можно написать процедуру, которая будет принимать на вход матрицу и границы диапазона, и возвращать вектор с перемноженными элементами строк, принадлежащих этому диапазону.
Ниже представлен пример такой процедуры на языке Python:
sql
def multiply_elements_in_range(matrix, a, b):
result = []
for row in matrix:
product = 1
for element in row:
if a <= element <= b:
product *= element
result.append(product)
return result
Чтобы получить вектор из задания, можно вызвать эту процедуру следующим образом:
css
matrix = [[1.192, 1.192, 2.255, 0.011, 2.167],
[1.192, 1.192, 2.255, 0.011, 2.167],
[2.255, 2.255, 1.734, 0.109, 5.810],
[0.011, 0.011, 0.109, 0.420, 1.081],
[2.167, 2.167, 5.810, 1.081, 0.191]]
a, b = 2, 10
vector = multiply_elements_in_range(matrix, a, b)
print(vector)
Этот код должен вывести [4.887, 4.887, 29.544, 0, 27.283], что соответствует ожидаемому результату.
Похожие вопросы
Добрый день! Есть массив данных с миллионами строк, обрабатываемый в Python, при выводе в csv формат файл становится очень тяжелым более 15гб =>
март 29, 2024 г.
Решено
помогите разобрать код: countries_temperature = [['Таиланд', [75.2, 77, 78.8, 73.4, 68, 75.2, 77]], ['Германия', [57.2,
март 10, 2024 г.