Tenho dados para x
e y
quando z=z1, z=z2 and z=z3
. Eu gostaria de plotar os dados em um gráfico 3D eaproximar as curvas com uma superfície 3d e conhecer a equação da superfície. Isso será mais fácil de implementar no R ou no Mathematica? Por exemplo, como posso fazer isso no R? obrigado
Dados (exemplo):
For z=0
y 0.00 1.50 1.92 2.24
x 0.0000 0.0537 0.0979 0.2492
For z=2
y 0.00 2.21 2.83 3.07
x 0.0000 0.0173 0.0332 0.0655
For z=5
y 0.00 0.29 2.49 3.56
x 0.0000 0.0052 0.0188 0.0380
Respostas:
5 para resposta № 1No Mathematica:
Suponha que você tenha um conjunto de pontos qt:
ListPointPlot3D[qt]
Você pode criar facilmente uma função de interpolação:
Plot3D[Interpolation[qt][x, y], {x, -2, 2}, {y, -2, 2}, Ealuated -> True]
Se você precisar de um modelo de função explícito, poderá propor um e calcular seus parâmetros:
model = a x^2 + b y^2;
fit = FindFit[qt, model, {a, b}, {x, y}];
Show[Plot3D[model /. fit, {x, -2, 2}, {y, -2, 2}, PlotRange -> All],
ListPointPlot3D[qt, PlotStyle -> Directive[PointSize[Medium], Red]]]
Editar
E é bastante fácil traçar bons gráficos: