how do I generate a spiral matrix which starts from first element

there is a command which takes only one arguement as a dimension of a square spiral matrix.But I need a way to generate such a matrix which takes the numbers of rows and columns as inputs and it might not be a square

1 Kommentar

I don't understand. How this matrix should looks like? Can you please show some scheme?

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

PIYUSH AGGARWAL
PIYUSH AGGARWAL am 9 Jun. 2019
Bearbeitet: PIYUSH AGGARWAL am 10 Jun. 2019
You will have to write your own code for this.
A = zeros(3,6);%You can change this mxn to whatever dims you like, be it square(m=n) or rectangular matrix.
[m,n] = size(A);
%m = no of rows
%n = no of columns
%A = matrix to be filled with spiral values
%This code works fine. I commented an eg also below
top = 1;
bottom = m;
left = 1;
right = n; %To keep track of the four directions
value = 1;%Let us strat from 1
while true
%Top Row First
if left>right
break;
end
for i = left:right
A(top,i) = value;
value = value + 1;
end
top = top + 1;
%Then The RightMost Column
if top>bottom
break;
end
for i = top:bottom
A(i,right) = value;
value = value + 1;
end
right = right - 1;
%Then Bottom Row
if left>right
break;
end
for i = right:-1:left
A(bottom,i) = value;
value = value + 1;
end
bottom = bottom - 1;
%Then The Left Column
if top>bottom
break;
end
for i = bottom:-1:top
A(i,left) = value;
value = value + 1;
end
left = left + 1;
end
A

5 Kommentare

My Code Generates Matrix like this
1 2 3 4 5 6
14 15 16 17 18 7
13 12 11 10 9 8
I guess this is what you wanted. Right? Matrix printing in spiral order?
Thanks a bunch,people.My issue is resolved.See Piyush's answer and comment for help.
So the uzumaki_matrix is done then.What about dx_ball?:)
@PIYUSH AGGARWAL Please, I hope that you can help me in modifying your code so that I enter an array from me like A= [2 3 5
12 13 14
19 0 4]
and a spiral display is made for it, then I want another code in which I can retrieve my original array. I would be grateful for your help.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Elementary Math finden Sie in Hilfe-Center und File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by