Why do I receive error for reshape function?
    6 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
I am using the following code below, however, I keep getting geting the error message for reshape function. How would the code or reshape function be changed to stop the error?
>> s = 1/sqrt(2);
A = [1 1 1 0 0 0 0 0 0; 0 0 0 0 0 0 1 1 1; 1 0 0 1 0 0 1 0 0; 0 0 1 0 0 1 0 0 1; s s 0 s 0 0 0 0 0; 0 0 0 0 0 s 0 s s; 0 0 0 s 0 0 s s 0; 0 s s 0 0 s 0 0 0];
b = [6; 24; 12; 18; 4.9497; 16.2634; 13.4350; 7.7781];
k = 1:20;
X = kaczmarz(A,b,k);
figure(1)
for i=1:kmax, subplot(4,5,i), imagesc(reshape(X(:,i),N,N)), end
Error using reshape
Number of elements must not change. Use [] as one of the size inputs
to automatically calculate the appropriate size for that dimension.
3 comentarios
  Scott MacKenzie
      
 el 7 de Jun. de 2021
				I suspect the issue is that X(:,i) does not have exactly NxN elements.  
Respuesta aceptada
  KSSV
      
      
 el 7 de Jun. de 2021
        The number of elements in X(:,j) is not equal to N*N, thats why you are getting error. 
N = 3 ; 
X = rand(10) ; 
x = reshape(X(:,1),N,N) ; % this will lead to error 
See to it that the number of elements should not change. You may use imresize to achieve this. 
[m,n] = size(X) ;
X = imresize(X,[N*N,n]) ; 
imagesc(reshape(X(:,1),N,N)) ;  % this will work
3 comentarios
  KSSV
      
      
 el 7 de Jun. de 2021
				It would be because the dimensions (number of rows) in x and X are different. You can change the dimensions of x or use same X as previous. 
Más respuestas (0)
Ver también
Categorías
				Más información sobre Startup and Shutdown 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!



