How can I fix Iapp?
    10 views (last 30 days)
  
       Show older comments
    
    Sonuncu Saniye
 on 5 Dec 2017
  
    
    
    
    
    Answered: Elizabeth Reese
    
 on 7 Dec 2017
            dt=0.002;
N=2;
simstart=10;
simfinish=20;
period=simfinish-simstart;
Io=10;
Iapp = zeros(N,simstart/dt);
Iapp = [Iapp Io*ones(N,1+((period/dt)))];
Iapp = [Iapp zeros(N,(tmax-simfinish)/dt)]
When I set simstart=0.2 and simfinish=0.8 I get the following error: "Error using ones, size inputs must be integers." Thank you for your help!!
0 Comments
Accepted Answer
  Elizabeth Reese
    
 on 7 Dec 2017
        This is a floating point issue. You can see this by typing
 format long
in the MATLAB Command Window and displaying all of the values you compute in each step. The numbers period and dt look exact but are not, and their division is not exactly 300. This is because some real values are not represented as floating point numbers, so computers round those computations to the nearest floating point number. You can use the round function to ensure that the input to  ones is an integer.
0 Comments
More Answers (0)
See Also
Categories
				Find more on Data Analysis in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!