Я хочу создать матрицу M
с индексами i,j
так, чтобы M(i,j)=i/j
. Я мог бы сделать это, используя два цикла, но есть ли способ сделать это, не используя петли for
?Инициализация матрицы без условий
-2
A
ответ
5
Создать два вектора индексов. Сделайте один вертикальный, один горизонтальный. Затем используйте bsxfun()
, чтобы разделить элемент.
i = (1:9)'; % '
j = 1:5;
M = bsxfun(@rdivide,i,j);
0
Обозначение ./
обозначает элемент мудрой работы.
[m,n]=ndgrid(1:9,1:5);
M = m./n;
(я не люблю использовать i
И j
потому что вы делаете ссылки sqrt(-1)
сложнее.)
2
Вы можете использовать векторное умножение, как это:
row=1:10;
col=1:10;
M=row'*(1./col);
Смежные вопросы
- 1. Инициализация матрицы python3
- 2. Инициализация исходной динамической матрицы
- 3. Инициализация внутренней выделенной матрицы
- 4. Инициализация матрицы в Eigen
- 5. Инициализация матрицы в Python?
- 6. Многопоточная инициализация матрицы в Java
- 7. Инициализация матрицы указателем на указатель?
- 8. инициализация списка для класса матрицы
- 9. Инициализация матрицы с помощью функции
- 10. Инициализация матрицы 2d с элементами
- 11. Инициализация п-мерной матрицы элегантно в Python
- 12. Инициализация класса шаблона C++ в операторах условий
- 13. Поиск максимального числа условий матрицы после стирания
- 14. GSON Разбор без условий
- 15. Инициализация переменной матрицы в структуру C
- 16. Инициализация переменной матрицы в структуре C
- 17. инициализация структурной матрицы с использованием memset
- 18. Инициализация матрицы с определенным значением в matlab
- 19. armadillo C++: инициализация матрицы из массива
- 20. Инициализация переменной матрицы в структуре C
- 21. Инициализация большой матрицы с чередованием слишком длинной
- 22. Инициализация матрицы, ожидаемая ошибка выражения в C
- 23. Инициализация матрицы HMM trans и estm
- 24. Инициализация матрицы N x M в python
- 25. Инициализация постоянной статической матрицы в файле заголовка
- 26. Инициализация SortedDictionary без сравнения
- 27. Инициализация словарей без использования '='
- 28. Инициализация OpenGL без GLUT
- 29. Заполнение матрицы без дубликатов
- 30. Печать матрицы без петель
Смешной. Я протестировал свое решение против вас. И результаты для некоторых индексов незначительно отличаются. Существует небольшая ошибка из-за потери информации при умножении. –
Интересно. Я думал, что 'bsxfun' или' ndgrid' будет медленнее, чем классическая сила операций Matlab-матриц. У вас есть идея, почему мое решение является самым медленным ..? Что такое потеря информации при умножении? – Adiel
Ваше решение является самым быстрым. '' ndgrid() '' самый медленный. Разница в наших решениях, вероятно, связана с тем, что '' 1./col'' является числовым значением, которое уже округлено на последней цифре. Эта ошибка округления будет умножена и поэтому появится в решении. –