Interpolation and getting errors

3 visualizaciones (últimos 30 días)
C Mck
C Mck el 8 de Jul. de 2016
Comentada: C Mck el 8 de Jul. de 2016
I am trying to run the piece of code below
function output = AtheroEqn2016(t,y,e)
fid= fopen('ifng.txt','r');
format longg;
A = textscan(fid, ['%s', repmat('%f', 1 , 25)], 'HeaderLines', 1);
e= [A{2:end}];
time=[0 30 60 90 120 150 180 210 240 270 300 330 360 390 420 450 480 510 540 570 600 630 660 690 720]
e= (((t-time(floor(t/30)))/(time(floor(t/30)+1)-time(floor(t/30))))*e1) + (((time(floor(t/30)+1)-t)/(time(floor(t/30)+1)-time(floor(t/30)+1)))*e0)
howver when it gets to the last line I get the following error, _ * _ Subscript indices must either be real positive integers or logicals._*_
Does anyone know why this is and how I could fix it?
Thanks

Respuesta aceptada

Jan Orwat
Jan Orwat el 8 de Jul. de 2016
Editada: Jan Orwat el 8 de Jul. de 2016
Note, you are trying to access time(0) when t<30. Matlab index arrays starting with 1. Probably changing floor(t/30) to ceil(t/30) or to floor(t/30)+1 would fix this error.
  2 comentarios
Jan Orwat
Jan Orwat el 8 de Jul. de 2016
btw. you will get the same time vector by typing time = 0:30:720;
C Mck
C Mck el 8 de Jul. de 2016
thanks

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Dates and Time en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by