Cell arrray that stores with iteration a new set of values

  • Thread starter Thread starter marellasunny
  • Start date Start date
  • Tags Tags
    Cell Set
AI Thread Summary
The discussion centers on storing the results of a function called 'intersections' in a cell array during multiple iterations of nested loops in MATLAB. The user seeks to retain all intersection coordinates across iterations without overwriting previous values. They initially attempted to store the results in variables that were reset each time, leading to loss of data. The suggestion is to use a cell array, indexed appropriately to retain all values. Additionally, preallocating arrays with zeros before the loop is recommended for efficiency. The importance of MATLAB's indexing, which starts at 1, is also highlighted, ensuring correct data storage and retrieval.
marellasunny
Messages
245
Reaction score
3
Here,I have a pre-defined function called 'intersections(x,...) that finds the intersections between 2 functions of x.Now,for each iteration of the loop,I get a set of (x,y1) and (x,y2) values.
I want to store them in an array without losing the previous iteration's values. So,I figured I'd use a cell array except I can't decipher its working mechanism.Someone,please help me with this.
Have a looksie at the code below.

for i=1:5
for j=1:5
%functions f1 and f2
y1=@(x)C.*(x)./((x.^p)+1);
y2=@(x)(r.*(1-(x./q)));
[a{i,j},b{i,j}] = intersections(x,y1(x),x,y2(x),1);
%a line of plot commands follow[not important]
end
end

I initially used
[xout,yout]= intersections(x,y1(x),x,y2(x),1);
to store the coordinates of the intersections but it kept getting erased out after each iteration.I want the whole data stored coordinates stored in 1 cell array.
 
Physics news on Phys.org
You just need to index the array somehow. For example,

A = zeros(1,5);
for i=1:5
A(i) = i+1;
end
A

This produces a 1x5 array A = [2 3 4 5 6]

If you know the size the array needs to be, it's always better to preallocate with zeros (outside of the loop of course).

Also in MATLAB at least, the index always starts with 1 (never 0)
 

Similar threads

Replies
2
Views
7K
Replies
0
Views
352
Replies
1
Views
1K
Replies
2
Views
25K
Replies
1
Views
2K
Back
Top