What should be a very simple bit of code is causing me lot's of trouble, X = find(I0_data == I0_unique(i,1));

1 次查看(过去 30 天)
I believe that the code is correct as it has worked for me on many occasions, but I am having trouble with this data set and for the life of me I cannot work out why.
I've attached the data set and the matlab .m file in a zip file.
I understand the error that has been generated. The code is stopping short because the index is out of bounds, the Index is generated by matlab and should never become out of bounds.
Please could someone take a look at it if they get a chance.
Thanks in advance, Matt
The error: ??? Attempted to access I0_data(31137,2); index out of bounds because size(I0_data)=[31136,12].
Error in ==> Weibull_output at 10 Y (u,1) = I0_data (u,2) - I0_data (X(1,1),2);

采纳的回答

Matt
Matt 2011-6-13
X = find(I0_data (:,1) == I0_unique(i,1));

更多回答(2 个)

Matt
Matt 2011-6-13
here is the full code:
I0_unique = unique(I0_data (1:31136))';
[a,b] = size(I0_unique);
for i = 1:a;
X = find(I0_data == I0_unique(i,1));
for u = X(1,1):X(end) Y (u,1) = I0_data (u,2) - I0_data (X(1,1),2);
u;
end
e = X(end); s = X(1:1); y = I0_data(s:e,3); x = Y(s:e,1);
Out(i,1:2) = polyfit (x,y,1);
i; end
I think the problem is here:
X = find(I0_data == I0_unique(i,1));
But tbh I think it may be the data set causing the problem.
here is the .txt file with the data set in:
Thanks in advance, Matt

Matt
Matt 2011-6-13
Right I think I have had a little breakthrough.
The problem is here:
X = find(I0_data == I0_unique(i,1));
Specifically "I0_data"
I haven't told Matlab which column to look into. I would like Matlab to search the whole of column 1 so I presume I need another loop?

类别

Help CenterFile Exchange 中查找有关 Large Files and Big Data 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by