|
0 / 0 / 0
Регистрация: 08.05.2017
Сообщений: 9
|
||||||
Одномерный массив, каждый элемент которого - матрица 2х2 для задачи анализа электрической цепи13.09.2017, 09:29. Показов 1062. Ответов 8
Метки нет (Все метки)
Доброго времени суток!
Для решения задачи анализа электрической цепи, представляющей собой каскадное соединение четырёхполюсников удобно использовать одномерный массив, каждый элемент которого - это матрица 2х2, содержащая А-параметры каждого четырёхполюсника. Решая эту задачу в Python (здесь я новичок, всю жизнь работал в PTC Mathcad), столкнулся с проблемой: матрица 2х2 после занесения её в массив в качестве единичного элемента этого массива, превращается в массив 2х2 со всеми вытекающими последствиями, ключевое из которых в моём случае - это лишение возможности матричного произведения. код:
Есть ли возможность перемножать элементы массива N по правилам произведения матриц, не прибегая к созданию новых матриц из каждого элемента массива?
0
|
||||||
| 13.09.2017, 09:29 | |
|
Ответы с готовыми решениями:
8
Организовать одномерный массив, каждый элемент которого есть минимальный элемент в соответствующей строке матрицы
дан двумерный массив. сформировать одномерный массив, каждый элемент которого равен: |
|
|
||||||
| 13.09.2017, 13:06 | ||||||
|
Если положить ваши матрицы в обычный список python - они останутся матрицами:
1
|
||||||
|
0 / 0 / 0
Регистрация: 08.05.2017
Сообщений: 9
|
|
| 13.09.2017, 14:17 [ТС] | |
|
Garry Galler, спасибо. Пока что так и сделал.
Второй вариант - задавать массивы, но перемножать их оператором matmul
0
|
|
|
0 / 0 / 0
Регистрация: 08.05.2017
Сообщений: 9
|
|
| 19.09.2017, 17:56 [ТС] | |
|
Как выяснилось, и у matmul, и у dot есть серьёзный недостаток: можно за одну операцию перемножить только две матрицы:
N = np.matmul (N1, N2), или же N = np.dot (N1, N2). А зачастую цепь представляется каскадным соединением большего числа эквивалентных четырёхполюсников, и вместо одной строки при использовании np.matrix N = N1 * N2 * N3 * ... при использовании np.array придётся делать цикл. Я хотел было использовать оператор '@' (он эквивалентен matmul) для перемножения более двух массивов по матричным правилам, однако, начиная с трёх и более множителей умножение производится поэлементно. Добавлено через 11 минут Ой, я выше чушь написал. "@" корректно работает при любом количестве сомножителей.
0
|
|
|
|
||||||
| 20.09.2017, 10:59 | ||||||
|
Цикл писать в лобом случае не нужно.
Я ожидал, что умножение матриц можно сделать через numpy.reduce, но оказалось, что матричное умножение он не поддерживает. Но всё равно есть просто питоновский reduce и numpy.linalg.multi_dot:
1
|
||||||
|
0 / 0 / 0
Регистрация: 08.05.2017
Сообщений: 9
|
|
| 20.09.2017, 12:04 [ТС] | |
|
dondublon, спасибо, тоже попробую
0
|
|
|
36 / 34 / 10
Регистрация: 15.07.2017
Сообщений: 128
|
||||||
| 07.10.2017, 20:01 | ||||||
|
У меня такое сработало:
0
|
||||||
|
|
|
| 09.10.2017, 12:42 | |
|
oldnick85, во-первых, не надо так делать. Во-вторых, нужно было лаконичное умножение матриц.
0
|
|
| 09.10.2017, 12:42 | |
|
Помогаю со студенческими работами здесь
9
Массив: Сформировать одномерный массив, каждый элемент которого равен наибольшему элементу соответствующего столбца Сформировать одномерный массив, каждый элемент которого равен наибольшему Дан двумерный массив. Сформировать одномерный массив, каждый элемент которого равен произведению положительных элементов Двумерный массив. Сформировать одномерный массив, каждый элемент которого равен первому четному элементу соответствующего столбца Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
|
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут.
https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc
Первый документ красиво выглядит, но без схемы.
Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
|
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере".
Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
|
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти".
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
В качестве источника данных. . .
|
|
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер
Написал заготовку:
dotnet new console --aot -o UrlHandler
var items = args. Split(":");
var tag = items;
var id = items;
var executable = args;. . .
|
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
|
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений.
9TO2GP2bpX4
a42b81fb172ffc12ca589c7898261ccb/
https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/
Слева синяя линия -. . .
|
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. .
Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
|