Issues updating vector inside a for loop
    6 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    Continuum
 el 29 de Mayo de 2022
  
clc, clear, close all;
x3 = 0.5*200; % Half the domain width 
x = load("t_10s.txt");
L = x(:,1); % Length/coordinates
[l, m] = size(x);
r1 = zeros(m-1,1);
for i = 1:m-1
    n = x(:,i+1); % value of n at the corresponding (L) location
    % Find values of L for which n = 1
    ind1 = find(n>=0.999);
    x1 = L(ind1,1);
    r = max(x1) - min(x1);  % 2*radius?
    r1(i,1) = r
end
% r = max(x1) - min(x1)
% r1(i) = r
Hi all, I am having an issue with updating my vector output from this code. I want to store all the calculated r values from each iteration into a column vector r1 of size (m-1,1), however, I keep getting a size incompatibility errors at line r1(i,1)=r. Could someone help out, please. Thank you. 
By the way, I load x (attached) in as a matrix the first column of which I assign to vector L, and columns 2 through m are the different n-vectors for each iteration. Thank you! 
0 comentarios
Respuesta aceptada
  Chris
      
 el 29 de Mayo de 2022
        
      Editada: Chris
      
 el 29 de Mayo de 2022
  
      When find doesn't find any values > 0.999, it returns an empty vector, with a size of 0x1. Furthermore, max returns an empty vector even if the other value is a number. 0x1 empty vectors don't fit in a 1x1 slot like r(i,1). 
The error text is often helpful: Unable to perform assignment because the size of the left side is 1-by-1 and the size of the right side is 0-by-1.
r1(i,1)     =     r
    left side (1x1)        right side (0x1)
You could test for the empty value and, for instance, convert it to a NaN:
if isempty(r)
    r(i,1) = nan;
else
    r(i,1) = r;
end
Incidentally, for your future reference, r(i) is equivalent to r(i,1) in this case (and L(i) to L(i,1)). Since the second dimension of r (and L) has size 1, the value only has one column in which it is possible to be placed.
5 comentarios
Más respuestas (0)
Ver también
Categorías
				Más información sobre Creating and Concatenating 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!


