MATLAB Answers

0

Solidworks​(ソリッドワークス)​の解析結果のような図​を作製したいです。

Asked by Takeru Katagiri on 24 Aug 2019
Latest activity Commented on by Yoshio
on 26 Aug 2019
上のURLの中盤で出てくる、片持ちはりの解析結果のような図面をMATLABで作製したいです。
作製したい図面は二次元で、X-Y平面図上でX、Yの位置を指定し、その指定した位置に、強度を表す数値を色で表したいです。
持っているデータはX位置におけるY位置と、その座標系に一致した強度(kyoudo)を表す数値の二つのエクセルデータです。
Xは7500行 1列
Yは7500行 100列
kyoudoは7500行 100列です。
kyoudoにはマイナスの値も含みます。
よろしくお願いします。
なにか良い手法を教えていただくことはできませんか。
よろしくお願いいたします。

  0 Comments

Sign in to comment.

Tags

3 Answers

Yoshio
Answer by Yoshio
on 25 Aug 2019
Edited by Yoshio
on 25 Aug 2019
 Accepted Answer

Kazuyaさんコメントありがとうございます。Kazuyさんの例とデータを参考にして少し変更してみました。
surf(X,Y,Z)は、点(Xi, Yi)におけるZi値を3次元空間の高さとして色付けした3次元図形をプロットします。これを2次元に投影(上から見た図に)するため、view([0 90])を使いました。
結果は殆ど同じ様です。Kazuyaさんのやれた方法(三角形分割、パッチで色付け)が、surfの内部で行われいるやり方かと想像します。
load data_small
col = size(Y,2);
XX = repmat(X, 1, col);
surf(XX,Y,Strength,'EdgeColor','none','FaceColor','interp')
view([0 90])

  4 Comments

Show 1 older comment
Takeru Katagiri on 26 Aug 2019
Yoshioさん
ご回答ありがとうございます。
Yoshioさんのプログラムを自分の本当の実験データで試すと、本当に自分の求めていた図面を作ることができました!
MATLABを学べば学ぶほどできることが増えていき、たいていのことはできてしまうのですね。たくさん勉強していこうと思いました。
まずはYoshioさんやKazuyaさんからいただいたプログラムの意味をまずはひとつづつ調べて、なぜこのようにできるか理解を深めていこうと思います。
本当にありがとうございました。
Takeru Katagiri on 26 Aug 2019
Yoshioさん
はじめにやってみたとき、真っ黒のグラフになったのはエッジカラーの黒色が原因だったのですね。
自分でプログラミングを理解して初めてその原因に気づけました。
実際にプログラムの解を知ってしまうとこんなに単純にできてしまうのかとMATLABのすごさいを実感しております。
もし伺えたら教えていただきたいのですが、
自分の今回のデータはX-Y座標における強度を示す値の3つの値を引っ張てきましたが、X-Y-Zの三次元で強度を測定したデータがある場合の4つの値を三次元のグラフで表すときもsurfは有効でしょうか?
用途としては三次元のグラフを作って、あるいはデータだけを読み見込ませて、指定した座標位置の強度分布を見れるようにしたいです(Yが○○のときのXZ平面の強度分布が見たい といった感じです)
もし良ければご意見をいただけると助かります。よろしくお願いします。
Yoshio
on 26 Aug 2019
こちらが参考になるかと思います。
sliceの例としては、こちらもご参照ください。

Sign in to comment.


Yoshio
Answer by Yoshio
on 24 Aug 2019
Edited by Yoshio
on 24 Aug 2019

以前のご質問に対するKazuyaさんの解答とほぼ同じですが、
X100 = repmat(X, 1, 100);
surf(X100,Y,kyoudo)
view([0 90])
を試してみてください。surfのマニュアルはこちらです。

  0 Comments

Sign in to comment.


Kazuya
Answer by Kazuya
on 24 Aug 2019

こちらに試しにやってみた例を投稿しました。

  0 Comments

Sign in to comment.