Getting error as array indices must be positive integers or logical values in slope calculation.
    7 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    Ramesh Bala
 el 15 de Sept. de 2021
  
    
    
    
    
    Comentada: Walter Roberson
      
      
 el 17 de Sept. de 2021
            My R matrix is 512x43 and I would like to calculate slope by central diff from row wise values.
It shows logical values error ? What's the wrong in this slope calculation.
Thanks in advance.
%testing slope by central difference
load('R.mat');
dy = zeros(43,1); 
ddy = zeros(43,1);
delx = 1e-4;
for ij=1:1:512
    for ji = 1:1:43
    dy(ij,ji)  = (R(ij,ji+1)-R(ij,ji-1))/(2/delx);
    ddy(ij,ji) = (R(ij,ji+1)-2*R(ij,ji)+R(ij,ji-1))/delx^2;
    end
end
2 comentarios
Respuesta aceptada
  Cris LaPierre
    
      
 el 15 de Sept. de 2021
        
      Editada: Cris LaPierre
    
      
 el 15 de Sept. de 2021
  
      I suspect the error is in your column index for R:
- ji-1
 
When ji=1, the result is 0, which is not a valid index in MATLAB.
Note that you will have another problem when hi=43, as you also use ji+1. The result will be 44, which exceeds the size of R.
5 comentarios
Más respuestas (1)
  Image Analyst
      
      
 el 15 de Sept. de 2021
        A thorough discussion of the error is in the FAQ:
0 comentarios
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
