How can I show (x,y) of a point in fsurf function?

1 回表示 (過去 30 日間)
Rubem Pacelli
Rubem Pacelli 2019 年 12 月 2 日
コメント済み: Star Strider 2019 年 12 月 2 日
I have the following script:
Rx = eye(2);
Rdx = [2; 4.5];
wo = inv(Rx)*Rdx;
var_d = 24.4;
syms w1 w2
vec_w = [w1 ; w2];
J(w1,w2) = var_d - 2*vec_w'*Rdx + vec_w'*Rx*vec_w
fsurf(J)
hold on
fsurf(wo(1),wo(2),J(wo(1),wo(2)),'Marker','diamond','MarkerFaceColor','r', 'MarkerSize',16)
xlim([-4.25 5.75])
ylim([-1.61 8.39])
zlim([-36 104])
view([99 20])
I get this Figure:
It's pretty good, actually. But I would like to show the (x, y) coordinates of my red point. In my mind, I imagine achieve something like that (I do that in a imagem editor):
How can I do that in Matlab? Thanks :)

採用された回答

Star Strider
Star Strider 2019 年 12 月 2 日
Try this:
Rx = eye(2);
Rdx = [2; 4.5];
wo = Rx\Rdx;
var_d = 24.4;
syms w1 w2
vec_w = [w1 ; w2];
J(w1,w2) = var_d - 2*vec_w'*Rdx + vec_w'*Rx*vec_w;
Jfcn = matlabFunction(J);
xv = linspace(-4.25, 5.75, 25);
yv = linspace(-1.61, 8.39, 25);
[X,Y] = ndgrid(xv,yv);
Z = Jfcn(X,Y);
figure
surf(X, Y, Z)
xlim([-4.25 5.75])
ylim([-1.61 8.39])
zlim([-36 104])
hold on
plot3(2, 4.3, Jfcn(2,4.3),'Marker','diamond','MarkerFaceColor','r', 'MarkerSize',16);
plot3([min(xlim) 2], [0 0]+4.3, [0 0]+min(zlim), '--k')
plot3([0 0]+2, [min(ylim) 4.3], [0 0]+min(zlim), '--k')
plot3([0 0]+2, [0 0]+4.3, [min(zlim) Jfcn(2,4.3)], '--k')
hold off
view([99 20])
I got tired of waiting fot the fsurf plots to calculate and plot (even on my Ryzen 7 1800X it takes forever), so I did a numieric shortcut. This gives the basic idea for you to experiment with, produicng:
1How can I show (x,y) of a point in fsurf function - 2019 12 01.png
  2 件のコメント
Rubem Pacelli
Rubem Pacelli 2019 年 12 月 2 日
Perfect! Thank you!
Star Strider
Star Strider 2019 年 12 月 2 日
As always, my pleasure!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeSurface and Mesh Plots についてさらに検索

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by