Diagonals in Matrices Matlab
    3 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    Buster
 el 13 de Sept. de 2021
  
    
    
    
    
    Comentada: Buster
 el 13 de Sept. de 2021
            i have a matrix A=zeros(400,400). 
m=size(A,1)
 A(1:m+1:end) = 1 % main diagonal    
 A(21:m+1:end) = -.25 % lower diagonal
 A(8001:m+1:end) = -.25 %upper diag 
A(2:m+1:end) = -.25 %close lower diag
A(401:m+1:end) = -.25 %close upper diag
The first three diagonals are continous and dont skip. However, i need the close lower and upper diagonals to be -.25 for every 2 instances. As in, the 3rd column of both close diagonals will be 0 and then the next two are -.25 followed by another 0 for the entire 400x400 matrix. NOTE: the close upper diagonal starts in column 2 while the lower starts in the first diagonal. EX. i need A(3,4)=0 ...A(6,7)=0... etc i am aware of the pattern i just dont know how solve in matlab
0 comentarios
Respuesta aceptada
  Jan
      
      
 el 13 de Sept. de 2021
        
      Editada: Jan
      
      
 el 13 de Sept. de 2021
  
      I'm not sure if I can follow your explanations. A short example might be useful.
The term "be -.25 for every 2 instances" might mean:
A(2:(2*m+2):end)   = -0.25;  % close lower diag
A(401:(2*m+2):end) = -0.25;  % close upper diag
What does this mean: "As in, the 3rd column of both close diagonals will be 0 and then the next two are -.25 followed by another 0"? With some guessing:
A(2:(3*m+3):end)     = -0.25;
A(2+m+1:(3*m+3):end) = -0.25;
Más respuestas (0)
Ver también
Categorías
				Más información sobre Operating on Diagonal Matrices en Help Center y File Exchange.
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


