так, чтобы она выглядела как алмаз. (это квадратная матрица) с каждой строкой, имеющей еще один элемент, чем строка до начала до средней строки, которая имеет число элементов, равное размерам исходной матрицы, а затем снова отбрасывается с каждой строкой до 1?Можно ли повернуть матрицу на 45 градусов в матрице
ответ
Вращение, конечно, невозможно, так как на основе «сетки» используется матрица.
Но я помню, что ваша первоначально идея была, так что следующее поможет вам:
%example data
A = magic(5);
A =
17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9
d = length(A)-1;
diamond = zeros(2*d+1);
for jj = d:-2:-d
ii = (d-jj)/2+1;
kk = (d-abs(jj))/2;
D{ii} = { [zeros(1,kk) A(ii,:) zeros(1,kk) ] };
diamond = diamond + diag(D{ii}{1},jj);
end
вернет бриллиант:
diamond =
0 0 0 0 17 0 0 0 0
0 0 0 23 0 24 0 0 0
0 0 4 0 5 0 1 0 0
0 10 0 6 0 7 0 8 0
11 0 12 0 13 0 14 0 15
0 18 0 19 0 20 0 16 0
0 0 25 0 21 0 22 0 0
0 0 0 2 0 3 0 0 0
0 0 0 0 9 0 0 0 0
Теперь вы можете снова искать для слов или шаблонов строка за строкой или столбцом по столбцу, просто удалите нули:
Представьте, что вы извлечь одну строку:
row = diamond(5,:)
вы можете извлечь ненулевые элементы с find
:
rowNoZeros = row(find(row))
rowNoZeros =
11 12 13 14 15
Не настоящий бриллиант, но, вероятно, также полезно:
(Идея в комментариях @beaker. Я удалю эту часть, если он разместит ее самостоятельно.)
B = spdiags(A)
B =
11 10 4 23 17 0 0 0 0
0 18 12 6 5 24 0 0 0
0 0 25 19 13 7 1 0 0
0 0 0 2 21 20 14 8 0
0 0 0 0 9 3 22 16 15
Это большое спасибо. Хотя еще один вопрос, как удалить/не считать нули? – Nermona
@Nermona посмотреть на мое редактирование – thewaywewalk
Так полезно, спасибо! – Nermona
- 1. Повернуть изображение -45 градусов
- 2. Как повернуть UIView на 45 градусов?
- 3. Поверните матрицу (2D-массив) на 45 градусов в C++
- 4. python: как повернуть линию 45 градусов
- 5. Как повернуть растровое изображение 45 градусов
- 6. Как я могу повернуть значок шрифта на 45 градусов?
- 7. Quaternion вращения ось х 45 градусов
- 8. Как повернуть матрицу M x N на 180 градусов?
- 9. Как повернуть матрицу на 90 градусов без использования дополнительного пространства?
- 10. 2x2 матрица вращения (45 градусов)
- 11. Можно ли повернуть (Пользовательский контроль) на 180 градусов?
- 12. Радиан 90 градусов на 45
- 13. повернуть изображение на 90 градусов
- 14. 45 градусов Google map
- 15. Поворот BarButtonItem на 45 градусов (анимированные)
- 16. Как повернуть матрицу N x N на 90 градусов?
- 17. Почему линия 45 градусов?
- 18. Как повернуть UIImageView на 20 градусов?
- 19. Как повернуть 3D-матрицу в matlab
- 20. Перемещение в направлении 45 градусов
- 21. sdl движение в 45 градусов
- 22. Может ли Google Maps показать Terrain на 45 градусов
- 23. Повернуть таблицу * градусов в HTML
- 24. вращать пиксельную матрицу в любой заданной степени (например, 45 градусов) в C++
- 25. вращать матрицу на 45 градусов и визуализировать его с помощью ggplot
- 26. Вращение 2D-массива на 45 градусов
- 27. Как я могу повернуть фигуру в матрице на 90 градусов в C?
- 28. Инициализация повернуть 90 градусов
- 29. Поворот статического текста 45 градусов
- 30. повернуть текст на 90 градусов в iOS
Вы спрашиваете о визуализации матрицы как алмаза? –
'Matrix = imrotate (Matrix, 45);' С панелью обработки изображений? – Vuwox
Это больше, чтобы решить поиск слов с помощью strfind. Это легко для форвардов, и я использую fliplr для назад и «для вверх и вниз. Но я не вижу никакого способа сделать 4 диагоналя, кроме поворота на 45 градусов, а затем делать вперед, назад, вверх и вниз с этим? – Nermona