How to store an interpolated data to get the mean for each new point in X?
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
I am trying to find the mean for each point in a series of 16 profiles. The code is as following
a= table2array (DataTot);
b= standardizeMissing(a,nan);
b = reshape(a,[181,4,16]);
for i=1:16
xx= b(:,1,i);
yy=b(:,4,i);
yyc = yy;
[maxHValue, indexAtMaxH] = findpeaks(yyc);
xshift=xx(yyc==max(maxHValue));
xxs=xx - xshift;
xxs = rmmissing(xxs);
yyc = rmmissing(yy);
XYint = interp1(xxs,yyc,-100:1:200);
L(i)= XYint %ERROR
end
When I try to store in L it doesn't allow me to do so(ERROR="unable to perform assignment because the indices on the left side are not compatible with the size of the right side"). Is there a way to find the mean while inside the loop for the interpolated values or should I store it to use the data after the loop?
Thanks for the help.
2 comentarios
David Hill
el 13 de Nov. de 2019
if the size of XYint changes, you could use a cell array.
L{i}= XYint;
Respuestas (1)
Prabhan Purwar
el 21 de En. de 2020
Editada: Prabhan Purwar
el 21 de En. de 2020
Hey,
You may make use of Cell arrays to store variable size datasets as shown in the following code:
L{1,i}=XYint; %y data
L{2,i}=xxs; %x data
L{3,i}=xshift; %x shift
For more information refer to the following links:
- https://in.mathworks.com/help/matlab/ref/cell.html (Cell Array)
- https://in.mathworks.com/help/matlab/matlab_prog/access-data-in-a-cell-array.html (Access Data in Cell Array)
0 comentarios
Ver también
Categorías
Más información sobre Resizing and Reshaping Matrices en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!