|
0 / 0 / 0
Регистрация: 17.10.2013
Сообщений: 10
|
|
Как векторизацией задать случайный вектор13.11.2013, 22:48. Показов 8523. Ответов 14
Метки нет (Все метки)
Здравствуйте!
Хочу получить вектор из 100 случайных чисел. Каждое случайное число должно быть произведением двух нормально распределенных чисел. Так же хочу для скорости сделать это через векторизацию. Пробую вот так: r=1:R; MM(1,r)=randn*randn; Но получаю вектор в котором R штук одинаковых чисел. Как сделать так что бы при вычислении очередного элемента randn менял значение которое выдает, причем так что бы умножились два разных нормально распределенных числа?
0
|
|
| 13.11.2013, 22:48 | |
|
Ответы с готовыми решениями:
14
Пусть Х - случайный вектор с распределением F
|
|
319 / 258 / 30
Регистрация: 30.03.2013
Сообщений: 755
|
|
| 14.11.2013, 00:41 | |
|
Создание вектора из 100 чисел не требует векторизации, вы выигрыш по времени НЕ сможете зафиксировать
0
|
|
|
0 / 0 / 0
Регистрация: 17.10.2013
Сообщений: 10
|
|
| 14.11.2013, 01:35 [ТС] | |
|
Почему не смогу? В начале tic потом toc
0
|
|
|
|
||||||
| 14.11.2013, 10:06 | ||||||
|
Вот примерно то, о чём говорится. Но, как подметил sergsh, с такими маленькими векторами выигрыша во времени мы не увидим. Только я бы посоветовал всегда пользоваться матричной магией, если есть возможность.
1
|
||||||
|
0 / 0 / 0
Регистрация: 17.10.2013
Сообщений: 10
|
|
| 14.11.2013, 16:30 [ТС] | |
|
lomt, спасибо за ответ. Нечто подобное было у меня в голове. Но мне казалось, что если должным образом задать аргументы в скобках randn(), то он будет менять свое значения и в:
r=1:R; MM(1,r)=randn*randn; Либо я не совсем понял что такое векторизация, и тогда прошу наставить меня на путь истинный))) Добавлено через 11 минут Вот например, мне не удается отнормировать на 1 все столбцы произвольной матрицы М без использования цикла. Мне казалось что можно было без цикла, используя лишь векторизацию перемножить каждый столбец матрицы М, на соответствующий элемент матрицы 1/.sum(M). Вопрос это вообще можно сделать с помощью векторизации?
0
|
|
|
|
|||||||
| 14.11.2013, 16:50 | |||||||
для этого можно использовать матричную магию: умножить вектор столбец из единичек (длинны одного столбца) на вектор строку сумм и получим то что надо, вот пример:
очень полезная штука
2
|
|||||||
|
|
||||||||||||||||
| 14.11.2013, 17:03 | ||||||||||||||||
|
Вот так самый кратчайший путь:
Вот пример векторизации, когда мы заменяем цикл:
Не по теме: Опоздание)))) Но у тебя, Зосима, это уже матричная математика. А вот векторизацию именно скорее мой пример описывает. Хотя конечно это частный случай
0
|
||||||||||||||||
| 14.11.2013, 17:23 | |
|
Не по теме: lomt, ну я сконцентрировал свои усилия не столько на векторизации, сколько на нормировке столбцов :)
0
|
|
| 14.11.2013, 17:29 | |
|
Не по теме: ну это я понял;)
0
|
|
|
0 / 0 / 0
Регистрация: 17.10.2013
Сообщений: 10
|
|
| 14.11.2013, 17:44 [ТС] | |
|
Зосима, мне кажется, статья про матричную "магию", в видном месте, была бы очень популярной и нужной. Можно позволять пользователям дискутировать там и добавлять свои варианты матричной и простой реализации кода, например, данная задачка про нормировку поучительна. Так потихоньку будет большой массив информации.
0
|
|
|
|
|
| 14.11.2013, 17:49 | |
|
Tigran-aminator, у меня в закладках есть также парочка очень интересных приемов матричной и матрично-логарифмической магии:
Посчитать все возможные расстояния между точками в каждом кадре. Заполнить массив по правилу Вычислить слагаемые, используя две функции но написать статью - руки не доходят
0
|
|
|
319 / 258 / 30
Регистрация: 30.03.2013
Сообщений: 755
|
|
| 14.11.2013, 18:59 | |
|
Зосима, я идею отдельного топика по векторным решениям тоже поддерживаю.
0
|
|
|
0 / 0 / 0
Регистрация: 17.10.2013
Сообщений: 10
|
||||||
| 14.11.2013, 23:40 [ТС] | ||||||
|
Зосима, "матрично-логарифмическая магия" - нужно запотентовать технологию
![]() Посчитать все возможные расстояния между точками в каждом кадре. - по мотивам данного диалога я написал код
Возможно, экспонента слишком ресурсоемкая операция.
0
|
||||||
| 14.11.2013, 23:40 | |
|
Помогаю со студенческими работами здесь
15
Сформировать случайный вектор и найти характеристики
Как задать вектор из функции find Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это дополнительная запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая. . .
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|