Error in following matlab code.
    4 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
Error in following codes
for i = 1:12
    if i == 12
        x1 = 9
    end    
    x1 = [1];
    x2 = [3];
    if i == 1
      x1 = 2
    else
    x1(i) = x1(i-1) - x2; 
    end
    x = [x1 x2]
end
When i run it it shows following error please help me to solve error.
Array indices must be positive integers or logical values. 
3 Commenti
  Image Analyst
      
      
 il 3 Feb 2019
				Yes, but did Star's answer below solve your problem or not?  Did you even try it?
Risposte (1)
  Star Strider
      
      
 il 26 Gen 2019
        The error comes from your current calculation of ‘x1’ as: 
x1(i) = x1(i-1) - x2; 
In the first iteration,i=1 so (i-1)=0.  In MATLAB, indices are integers greater than 0, or logical values.  
I am not certain this ‘corrected’ version of your code creates the values for ‘x’ that you want.  However, it has the virtue of running without error: 
for i = 1:12
    if i == 12
        x1(i) = 9;
    end
    x1(i) = [1];
    x2 = [3];
    if i == 1
        x1(i) = 2;
    else
        x1(i+1) = x1(i) - x2;
    end
    x(i,:) = [x1(i) x2];
end
Experiment to get the result you want.  
0 Commenti
Vedere anche
Categorie
				Scopri di più su Logical in Help Center e File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



