xyzφデータ入力のgradient演算
7 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
x,y,z座標とその場所のスカラ値φで構成される4列複数行のテーブルデータがあります。このデータのgradient(勾配)を求める方法を教えてもらえますか?
gradient関数のドキュメントを確認すると、xyzの行列にしてあげれば演算可能なようですが、本データのxyzは等間隔でない位置関係にあります。
よろしくお願いします。
0 comentarios
Respuesta aceptada
covao
el 13 de Mzo. de 2023
Movida: Atsushi Ueno
el 15 de Mzo. de 2023
一様に分布していないデータの表面をプロットする例が、以下のドキュメントにあります。
x = rand(100,1)*16 - 8;
y = rand(100,1)*16 - 8;
r = sqrt(x.^2 + y.^2) + eps;
z = sin(r)./r;
xlin = linspace(min(x),max(x),33);
ylin = linspace(min(y),max(y),33);
[X,Y] = meshgrid(xlin,ylin);
f = scatteredInterpolant(x,y,z);
Z = f(X,Y);
z = sin(r)./r;
figure
mesh(X,Y,Z) %interpolated
axis tight; hold on
plot3(x,y,z,'.','MarkerSize',15) %nonuniform
figure
contour(X,Y,Z)
hold on
[fx,fy] = gradient(Z,0.1);
quiver(X,Y,fx,fy)
hold off
Más respuestas (0)
Ver también
Categorías
Más información sobre 表面プロットとメッシュ プロット en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!