перемножение элементов массива

Простейшие вопросы в области инженерной разработки

перемножение элементов массива

Postby izglobir on 02 Apr 2017, 15:51

возникла такая проблема: у нас есть двумерный массив, из которого нужно найти произведение всех элементов, без произведения на нулевые (они присутствуют)
как можно такое организовать?
izglobir
interested
interested
 
Posts: 1
Joined: 02 Apr 2017, 15:45
LabVIEW Version: 12
Karma: 0

Re: перемножение элементов массива

Postby zxc_pavel on 02 Apr 2017, 16:32

при false нижний вход на выход идет
Attachments
asdqwe.png
asdqwe.png (9.67 KiB) Viewed 462 times
zxc_pavel
junior
junior
 
Posts: 57
Joined: 02 Jun 2016, 12:07
LabVIEW Version: 14
Karma: 62

Re: перемножение элементов массива

Postby dadreamer on 02 Apr 2017, 18:14

Если :labview: >= 2012, то можно так.
Attachments
Snippet.png
Snippet.png (16.7 KiB) Viewed 451 times
2017-04-02_20-07-32.jpg
2017-04-02_20-07-32.jpg (25.15 KiB) Viewed 451 times
User avatar
dadreamer
doctor
doctor
 
Posts: 2781
Joined: 17 Feb 2013, 16:33
Medals: 4
Activity (1) Professionalism (1) Автор (2)
LabVIEW Version: 2.5 — 2017
Karma: 696
I/O VIP vision internet

Re: перемножение элементов массива

Postby Borjomy_1 on 02 Apr 2017, 21:28

Хм... во-первых даже небольшая матрица быстро даст величины больше 2^32. Поэтому только плавающая точка.
Во-вторых режим Conditional для быстрой работы несостоятелен. Как и для больших строк. Поэтому правильнее будет замена нулевых элементов на единичные и после этого делать Multiply Array. Всего одно выделение памяти. В отличие от вышепоказанного варианта.
Attachments
перемножение ненулевых.png
перемножение ненулевых 1.png
А вот это, наверное, самый быстродействующий вариант
перемножение ненулевых 1.png (17.29 KiB) Viewed 444 times
Borjomy_1
expert
expert
 
Posts: 1711
Joined: 28 Jun 2012, 09:32
Location: город семи холмов
Medals: 3
Activity (1) Professionalism (1) Silver (1)
LabVIEW Version: 4-8.6,9-14
Karma: 300
VIP

Re: перемножение элементов массива

Postby Blackman on 03 Apr 2017, 09:05

Дак здесь и Extended может не спасти). Во всех примерах отсутствует главное - проверка результата на переполнение.
Attachments
2D I64 Product with Overflow.png
Blackman
leader
leader
 
Posts: 613
Joined: 17 Jan 2016, 15:02
Medals: 1
Activity (1)
LabVIEW Version: 6.1,8.5,20
Karma: 146


Return to Для чайников

Who is online

Users browsing this forum: Andrew Lunev, Bing [Bot], Yahoo and 5 guests

cron