Добрый день!
Вот на днях столкнулась с новой задачкой.
Занимаюсь сейчас проектом с FPGA в . И столкнулась с такой проблемой, что там нет матриц и операций над ними. А предосталена возможность работы с простыми массивами.
Просблема вся в том, что никак не получается запрограммировать в умножение двух матриц, представленных в виде массивов.
Может быть кто-нибудь уже занимался похожим задание - сможет подскать, как сделать.
Заранее очень благодарна
Как запрограммировать умножение матриц в LabView
-
- beginner
- Сообщения: 26
- Зарегистрирован: 22 ноя 2008, 02:29
- Версия LabVIEW: 8.5
- Контактная информация:
Re: Как запрограммировать умножение матриц в LabView
Functions->Mathematics->Linear Algebra там есть много функций для работы с матрицами
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
Re: Как запрограммировать умножение матриц в LabView
Странно что мне до сих пор не приходилось работать с матрицами. В принципе массив это ведь и есть матрица. А конкретно о каких операциях идёт речь?
-
mzu2006
- doctor
- Сообщения: 2456
- Зарегистрирован: 16 авг 2008, 02:12
- Награды: 3
- Версия LabVIEW: 7.1 10 11 12
- Откуда: St-Petersburg (RU), Phila, Boston, Washington DC
- Контактная информация:
Re: Как запрограммировать умножение матриц в LabView
к Stkn - для FCPGA нет матриц
к eg -наверное имеются в виду операции типа * (для матриц, строка на столбец), LU разложение, SV разложение итд итп.
в противоположность опреациям .* (матлабовская нотация) - как для массивов (поэлементно).
к Irina_Gushchina это, наверное, можно реализовывать на Labview. Это интересно как трюк, но, мне кажется, индустриальная ценность этого будет невелика. Во-первых медленно, во вторых требуется учёт специфики операций с фиксированной точкой, в-третьих генерация кода Labview->VHDL порождает не маленький overhead.
Я бы взял node, в который можно вставить VHDL, и найти какой-нибуть пример реализации матричных операций на VHDL и туда бы этот пример вставил ...
Либо, если ты делаешь свою прогу под что-то вроде Compact RIO - сделать сбор данных на FCPGA,
а матричные операции на встроенном RT контроллере ...
к eg -наверное имеются в виду операции типа * (для матриц, строка на столбец), LU разложение, SV разложение итд итп.
в противоположность опреациям .* (матлабовская нотация) - как для массивов (поэлементно).
к Irina_Gushchina это, наверное, можно реализовывать на Labview. Это интересно как трюк, но, мне кажется, индустриальная ценность этого будет невелика. Во-первых медленно, во вторых требуется учёт специфики операций с фиксированной точкой, в-третьих генерация кода Labview->VHDL порождает не маленький overhead.
Я бы взял node, в который можно вставить VHDL, и найти какой-нибуть пример реализации матричных операций на VHDL и туда бы этот пример вставил ...
Либо, если ты делаешь свою прогу под что-то вроде Compact RIO - сделать сбор данных на FCPGA,
а матричные операции на встроенном RT контроллере ...
Правила форума (Forum rules in Russian)
rm -rf /mnt/windows
rm -rf /mnt/windows
-
- beginner
- Сообщения: 26
- Зарегистрирован: 22 ноя 2008, 02:29
- Версия LabVIEW: 8.5
- Контактная информация:
Re: Как запрограммировать умножение матриц в LabView
Вот вся проблема и состоит в том, что мне все надо реализовать на FPGA, хотя всем понятно, что выглядить эта программа будет сложно и работать будет медленно. Но так звучит задание - и никто его не хочет мне отменить
Поэтому и приходится обходиться "скудными" операциями с массивами, что вызывают огромную сложность, как оказалось, при формировании и расчете матриц.
Проблема вся в том, что я не могу никак построить операцию умножения для матриц (хотя на основе массивов уже создала двумерный массив - матрицу). Далее - путаюсь - и прихожу только к одному умножению ( первая строка превой матрицы на все столбцы второй). ...
Поэтому и приходится обходиться "скудными" операциями с массивами, что вызывают огромную сложность, как оказалось, при формировании и расчете матриц.
Проблема вся в том, что я не могу никак построить операцию умножения для матриц (хотя на основе массивов уже создала двумерный массив - матрицу). Далее - путаюсь - и прихожу только к одному умножению ( первая строка превой матрицы на все столбцы второй). ...
-
mzu2006
- doctor
- Сообщения: 2456
- Зарегистрирован: 16 авг 2008, 02:12
- Награды: 3
- Версия LabVIEW: 7.1 10 11 12
- Откуда: St-Petersburg (RU), Phila, Boston, Washington DC
- Контактная информация:
Re: Как запрограммировать умножение матриц в LabView
Имеется в виду в лоб вот так?
Правила форума (Forum rules in Russian)
rm -rf /mnt/windows
rm -rf /mnt/windows
-
- beginner
- Сообщения: 26
- Зарегистрирован: 22 ноя 2008, 02:29
- Версия LabVIEW: 8.5
- Контактная информация:
Re: Как запрограммировать умножение матриц в LabView
Спасибо огромное!!!
Кого будет интересовать, как это программа выглядит целиком - выкладываю!!!
Еще раз - ОГРОМНОЕ СПАСИБО!
Кого будет интересовать, как это программа выглядит целиком - выкладываю!!!
Еще раз - ОГРОМНОЕ СПАСИБО!
- Вложения
-
- Multiplikation.vi
- (18.46 КБ) 407 скачиваний
-
mzu2006
- doctor
- Сообщения: 2456
- Зарегистрирован: 16 авг 2008, 02:12
- Награды: 3
- Версия LabVIEW: 7.1 10 11 12
- Откуда: St-Petersburg (RU), Phila, Boston, Washington DC
- Контактная информация:
Re: Как запрограммировать умножение матриц в LabView
Начальные циклы можно заменить на reshape array
Удачи с
Удачи с
Правила форума (Forum rules in Russian)
rm -rf /mnt/windows
rm -rf /mnt/windows
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 0 Ответы
- 1894 Просмотры
-
Последнее сообщение Anastasia
-
- 3 Ответы
- 2065 Просмотры
-
Последнее сообщение PozhiloyGoblin
-
- 0 Ответы
- 343 Просмотры
-
Последнее сообщение maxim_MA
-
- 23 Ответы
- 2395 Просмотры
-
Последнее сообщение dadreamer
-
- 2 Ответы
- 390 Просмотры
-
Последнее сообщение ujin1