How to extrapolate gridded matrix?
이전 댓글 표시
Hi all! I am trying to extrapolate a matrix, but it seems like there is some issues. I have the rows as variable Hs:
Hs = [4.9573 6.6098 8.2622 9.9147 13.2196 16.5245 24.7868 33.0490]
And the Collums as Uw:
Uw = [1.12 2.4500 4.4000 6.7000 9.3500 12.3000]
And the RPM as the "main" matrix:
RPM = 8x6 matrix
So for a given Hs and Uw, there is a RPM.
I want to create a new matrix where Hs and Uw is extrapolated to 0. So the original "main" matrix is extended to a 9x7 matrix where Hs and Uw start from the value 0.
Hope it makes sense otherwise feel free to ask!
Thanks is advance Isa
채택된 답변
추가 답변 (1개)
Guillaume
2016년 3월 15일
"but it seems like there is some issues" Unless you tell us what the issues are, we can't guess what they are.
Hs = [4.9573 6.6098 8.2622 9.9147 13.2196 16.5245 24.7868 33.0490];
Uw = [1.12 2.4500 4.4000 6.7000 9.3500 12.3000];
rpm = reshape(1:8*6, 8, 6); %demo data since none was provided
[gridrows, gridcols] = ndgrid(Hs, Uw);
ginter = griddedInterpolant(gridrows, gridcols, rpm); %create gridded interpolant. Does linear extrapolation by default
%add extrapolation for 0 column
rpm = [ginter(Hs', zeros(size(Hs))'), rpm];
Hs = [0, Hs];
Uw = [0, Uw];
rpm = [ginter(zeros(size(Uw)), Uw); rpm]
카테고리
도움말 센터 및 File Exchange에서 Interpolation에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!