Interpolation problem with interp1
์กฐํ ์: 6 (์ต๊ทผ 30์ผ)
์ด์ ๋๊ธ ํ์
Manal NOURI
2021๋
9์ 7์ผ
๋๊ธ: Manal NOURI
2021๋
9์ 8์ผ
Hello everyone:)
I have graphic with some missing data, so I interpolated my data vector to fill the gaps but I have this error message " Brace indexing is not supported for variables of this type." and I could not fond the error! So here is the code I used:
for i=1:length(t0)
R{i}=interp1(t{i},R{i},t0,'linear');
end
thanks in advence๐
๋๊ธ ์: 0
์ฑํ๋ ๋ต๋ณ
Image Analyst
2021๋
9์ 7์ผ
Are t and R cell arrays, tables, or just regular double numerical arrays? If they're just regular numerical arrays, use parentheses, not braces. Please read the FAQ to know when you need to use braces, parentheses, or brackets:
If they are just regular vectors, you don't need a for loop, you can simply do
% t is x, R is y, and t0 are the new x values that you want y values for.
interpolatedY = interp1(t, R, t0, 'linear');
R = interpolatedY; % If you want to replace your existing R, then do this.
์ถ๊ฐ ๋ต๋ณ (1๊ฐ)
Ravi Narasimhan
2021๋
9์ 7์ผ
ํธ์ง: Ravi Narasimhan
2021๋
9์ 8์ผ
Not sure what your R vector represents but it seems like you are trying to use a loop to interpolate within a one-dimensional array. This is something Matlab does at the array level itself without the need for a loop.
If you look up help interp1 , there's an example of this.
X = 0:10;
V = sin(X);
Xq = 0:.25:10;
Vq = interp1(X,V,Xq);
plot(X,V,'o',Xq,Vq,':.')
X and V have 11 elements.
Xq and the interpolated Vq have 41 elements.
No looping required.
์ฐธ๊ณ ํญ๋ชฉ
์นดํ ๊ณ ๋ฆฌ
Help Center ๋ฐ File Exchange์์ Interpolation์ ๋ํด ์์ธํ ์์๋ณด๊ธฐ
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!