How can I fix Iapp?

조회 수: 4 (최근 30일)
Sonuncu Saniye
Sonuncu Saniye 2017년 12월 5일
답변: Elizabeth Reese 2017년 12월 7일
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!!

채택된 답변

Elizabeth Reese
Elizabeth Reese 2017년 12월 7일
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개)

카테고리

Help CenterFile Exchange에서 Data Analysis에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by