Index in position 2 is invalid. Array indices must be positive integers or logical values.
    8 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
In the third line of code, 
csvname = strcat(cpath, "\", cname);
c = csvread(csvname, 1, 0);
raw_data(:,i) = c(1:(min(size(c,1),max_val)),2:size(c,2));
where cpath and cname are the file path and file name of the file, I am getting this error: 
Index in position 2 is invalid. Array indices must be positive integers or logical values.
I checked the csv file in question, and it is a valid file (no non-numeric values that are being read). A sample of the file is attached.
2 comentarios
  Stephen23
      
      
 el 30 de Jul. de 2019
				@Varun Lakshmanan: please show us the complete error message. This means all of the red text. The error message has information that helps understand the problem.
Respuestas (2)
  Walter Roberson
      
      
 el 30 de Jul. de 2019
        Somehow you have managed to assign a value to a variable named csvread and that is interfering with your calling csvread as a function.
Note: if you want to skip the one line header in the file, then you should use 1, 0 instead of 2, 0 . The value is not which row number to start at: it is how many rows to skip, so to start at row 2 then you want to skip 1 row.
You should probably be considering readtable()
1 comentario
  Andy
      
 el 30 de Jul. de 2019
        If the 3 lines of code are all you are running, where is i set when you attempt to reference it in line 3?
2 comentarios
  Walter Roberson
      
      
 el 30 de Jul. de 2019
				By default i is a function that returns sqrt(-1) so you will never get an error about i or j being undefined.
Ver también
Categorías
				Más información sobre Matrix Indexing 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!



