why its giving error? Its saying cant read A1(2.3), its not logical

2 views (last 30 days)
t = 1:9;
t1 = 1 : 0.1 :9;
A = [916.3, 923.6, 933.1, 947.4, 966.2, 986.6, 1008.5, 1031.5, 1051.3];
A1 = interp1(t ,A , t1) ;
a= 1;
b=9;
h= 1.3;
for i = 0:3
res = 0.5*[A1(a+ i*h)+ A1(a + (i+1)*h)]*h
disp('res')
end

Answers (2)

ES
ES on 7 Nov 2013
Edited: ES on 7 Nov 2013
all Indices in matlab must be positive integers. your h is 1.3 so for all i values it will try to access A1(i.3) which is not correct.
res = 0.5*[A1(a+ i*h)+ A1(a + (i+1)*h)]*h
It might help if you say what you ant to achieve in your code. For example
disp('res')
will not give you desired results. It should be
disp(res)
instead.
  3 Comments
ES
ES on 7 Nov 2013
>> size(A1)
ans =
1 81
A1 is a single dimensional array. It has one row and 81 columns. What do you mean by 2nd columns 3 rd reading?
Rizwana
Rizwana on 7 Nov 2013
My mistake. I want to excess 23(2.3) column now. Dont know how to do it. Will try arranging my data in 2D array. If i get stuck again will get back to you. Thank You

Sign in to comment.


sidra
sidra on 7 Nov 2013
Reading up about matrix indexing will be helpful in your case. Try the link below:

Categories

Find more on Entering Commands 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!