deriving surface equation form data on a table
이전 댓글 표시
i have a table with 3 variables(B/H)= 1,2,3,4,5,6,7,8 and fi= 0,10,20,30 and h which is depend on (B/H) and fi that contains 32 values. for example for fi=0 and (B/H)=1 >>h=1 fi=0 and (B/H)=2 >>h=1.02 ...... fi=30 and (B/H)=8 >>h=14800
>is there any way in MATLAB to get an surface equation for h in terms of (B/H) and fi??
h:[ 1 1.02 1.11 1.21 1.3 1.4 1.59 1.78
1 1.11 1.35 1.62 1.95 2.33 3.34 4.77
1.01 1.39 2.12 3.29 5.17 8.29 22 61
1.13 2.5 6.36 17.5 50 150 1400 14800 ]
댓글 수: 4
Walter Roberson
2011년 6월 30일
There are an infinite number of surface equations that would fit the data perfectly. Which one do you want?
milad babaei
2011년 6월 30일
Sean de Wolski
2011년 6월 30일
There can be at least one polynomial of order>(number elements) that fits perfectly. Thus from n-> infinity: To infinity and beyond!
milad babaei
2011년 7월 1일
답변 (1개)
Andrei Bobrov
2011년 6월 30일
BHv= [1,2,3,4,5,6,7,8];
fiv= [0,10,20,30];
h = rand(length(BHv),length(fiv))*30+10;
[fim BHm] = meshgrid(fiv,BHv);
[XI,YI] = meshgrid(linspace(fiv(1),fiv(end),100),linspace(BHv(1),BHv(end),100));
1 variant use 'interp2'
F1 = @(fi,BH)interp2(fim,BHm,h,fi,BH);
surf(F1(XI,YI))
2 variant use 'TriScatteredInterp'
F = TriScatteredInterp(fim(:),BHm(:),h(:));
figure,surf(F(XI,YI))
카테고리
도움말 센터 및 File Exchange에서 Polynomials에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!