Hi! I'm trying to write a code in mesh to ilustrate some a surface that in determined by the ecuation:
x,y,z are all coordonates on the axis. the surface should look like this:
but i can't get it to look the same. My code is:
clear all; close all; clc;
xmin=-pi;xmax=pi;nx=50;
x=linspace(xmin,xmax,nx);
ymin=-pi;ymax=pi;ny=50;
y=linspace(ymin,ymax,ny);
[X,Y]=meshgrid(x,y);
alfa=59*pi/180;
Z=sqrt(X.^2./tan(alfa)^2)+sqrt(Y.^2./tan(alfa)^2);
figure
mesh(X,Y,Z);
axis equal
can anyone please help me?

 採用された回答

Voss
Voss 2025 年 3 月 20 日

0 投票

clear all; close all; clc;
xmin=-pi;xmax=pi;nx=50;
x=linspace(xmin,xmax,nx);
ymin=-pi;ymax=pi;ny=50;
y=linspace(ymin,ymax,ny);
[X,Y]=meshgrid(x,y);
alfa=59*pi/180;
% Z=sqrt(X.^2./tan(alfa)^2)+sqrt(Y.^2./tan(alfa)^2);
Z=sqrt((X.^2+Y.^2)./tan(alfa)^2);
figure
mesh(X,Y,Z);
hold on
mesh(X,Y,-Z);
axis equal

3 件のコメント

Voss
Voss 2025 年 3 月 20 日
You can also leave alfa in degrees and use tand instead of tan.
Alexandra-Anamaria
Alexandra-Anamaria 2025 年 3 月 20 日
Thanl you! You helped me a lot!
Voss
Voss 2025 年 3 月 20 日
編集済み: Voss 2025 年 3 月 25 日
You're welcome! Any questions, let me know. Thanks!

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

その他の回答 (0 件)

カテゴリ

タグ

質問済み:

2025 年 3 月 20 日

編集済み:

2025 年 3 月 25 日

Community Treasure Hunt

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

Start Hunting!

Translated by