Subscript indices must either be real positive integers or logicals. how can i change? thanks!
    5 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
dt = 0.1; % time step size in seconds 
i0 = 0; % potential at time 0
Vs = 10; % positive time independant source potential 
L = 2; % inductor
R = 1; % resistor 
N = 10; % number of time steps 
i(0) = v0; %initial condition
for loop=1:N %recursive
           i(loop) = i(loop-1) + Vs*dt*/L - i(loop-1)*R/L;
end 
plot([0:N-1]*dt,v, ‘-k’)
 xlabel( ‘Time in seconds’)
 ylabel( ‘Inductor current’)
 grid on hold time = [0:N-1]*dt; 
i_ana = Vs/R*(1- exp(-time*(R/L));
 plot(time,I_ana,’–k’) 
hold
legend( ‘Numerical solution’, ‘Analytical solution’)
Subscript indices must either be real positive integers or logicals.
0 Commenti
Risposte (2)
  Bjorn Gustavsson
      
 il 2 Ott 2019
        Matlab uses 1-based indexing to vectors, so your line:
i(0) = v0; %initial condition
Has to be changed to:
i(1) = v0; %initial condition
Then you have to adapt the rest of your script to account for that.
HTH
0 Commenti
  Andrei Bobrov
      
      
 il 2 Ott 2019
        ii(1) = v0; %initial condition
for loop=2:N %recursive
    ii(loop) = ii(loop-1) + Vs*dt*/L - ii(loop-1)*R/L;
end 
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!