How to store an interpolated data to get the mean for each new point in X?
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
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 Kommentare
Antworten (1)
Prabhan Purwar
am 21 Jan. 2020
Bearbeitet: Prabhan Purwar
am 21 Jan. 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 Kommentare
Siehe auch
Kategorien
Mehr zu Resizing and Reshaping Matrices finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!