MATLAB Answers

0

3Dグラフについて

Asked by rei shimizu on 11 Nov 2019 at 9:09
Latest activity Answered by rei shimizu on 15 Nov 2019 at 11:35
添付したデータをインポートし、以下のコードで3Dグラフを作図しました。
x = A(:,1);
y = A(:,2);
z = A(:,3);
xlin=linspace(min(x),max(x),76);
ylin=linspace(min(y),max(y),76);
[X,Y]=meshgrid(xlin,ylin);
Z=griddata(x,y,z,X,Y,'v4');
surf(X,Y,Z)
その時に添付したデータの各行がどの座標を示しているか調べる方法はありますか?
足りない情報などございましたらお知らせください。

  0 Comments

Sign in to comment.

Tags

2 Answers

Akira Agata
Answer by Akira Agata
on 11 Nov 2019 at 23:51
 Accepted Answer

元データであるExcelファイルの各行のデータを、表示している表面プロット上に点として表示するのはいかがでしょうか?
figure
surf(X,Y,Z)
hold on
scatter3(x,y,z,'ro')
surf.png

  2 Comments

rei shimizu on 13 Nov 2019 at 6:22
お返事ありがとうございます!
非常に助かりました。
この方法で卒業研究を進めていきたいと思います!
Akira Agata
on 13 Nov 2019 at 14:03
お返事ありがとうございます。
もちろん卒業研究を最優先でお願いしたいのですが、もし余裕がありましたら、図の "見た目" の調整にもチャレンジしてみてください。MATLABは、3次元曲面を半透明にしたり、上からライトを当てて反射させてみたり、視点を変えたり、、、と、いろんな機能をひそかに(?)持っています。ぜひ、遊び感覚でいろいろと試してみて下さいね。
figure
surf(X,Y,Z,...
'EdgeColor','k',... % 曲面上のメッシュ線の色を黒(k)に指定
'EdgeAlpha',0.1,... % メッシュ線の透明度
'FaceAlpha',0.5) % 曲面の透明度
hold on
h = scatter3(x,y,z,24,'ro'); % 点のサイズを24に変更
legend(h,'測定データ',...
'Location','northeast',... % 凡例の表示位置
'FontSize',12) % 凡例のフォントサイズ
colorbar % カラーバーを表示
camlight % ライトを配置
material shiny % 曲面の質感
view(-75,20) % 視点
surf2.png

Sign in to comment.


Answer by rei shimizu on 15 Nov 2019 at 11:35

ありがとうございます。 そちらの方がグラフが綺麗に見えます! そういった工夫をする余裕ができたら是非使ってみたいと思います!

  0 Comments

Sign in to comment.