Given an equation, i have to graph it in 3D and it should look like a water ripple

hi. i need help urgently. i was given an equation: z(x,y)=(amp*cos(sqrt((x^2+y^2)*const1))/exp((x^2+y^2)*const2)) amp is the amplitude which is 200 and x and y range from 0 to 100 const1 and const2 can be any number I am required to surf plot this equation so that it can look like a water ripple.
Please help me

 採用された回答

Paulo Silva
Paulo Silva 2011 年 8 月 28 日
amp=200;
[x,y]=meshgrid(0:100,0:100);
const1=1;
const2=0.001;
z=(amp*cos(sqrt((x.^2+y.^2)*const1))./exp((x.^2+y.^2)*const2));
surf(x,y,z)

11 件のコメント

12ar.af
12ar.af 2011 年 8 月 28 日
hi..thnx...i tried the code but the graph is no way near the solution which is a water ripple....please help
Paulo Silva
Paulo Silva 2011 年 8 月 28 日
You can see the ripples by rotating the graph, tweak the values of const1 and const2 for better results.
12ar.af
12ar.af 2011 年 8 月 28 日
the ripples have to be circular..i am sorry..i am very bad at this stuff and need the answer today.please could you help me
Paulo Silva
Paulo Silva 2011 年 8 月 28 日
amp=200;
[x,y]=meshgrid(-100:100,-100:100);
const1=1;
const2=0.001;
z=(amp*cos(sqrt((x.^2+y.^2)*const1))./exp((x.^2+y.^2)*const2));
surf(x,y,z)
12ar.af
12ar.af 2011 年 8 月 28 日
thank you very much....i appreciate it
12ar.af
12ar.af 2011 年 8 月 28 日
i got one more question....how can you make the graph look more smoother ?
Paulo Silva
Paulo Silva 2011 年 8 月 28 日
make more points inside the mesh, example
amp=2;
[x,y]=meshgrid(-50:0.6:50,-50:0.6:50); %notice the new limits and step 0.6
%smaller steps give smother waves but use more memory and takes more time
const1=1;
const2=0.001;
z=(amp*cos(sqrt((x.^2+y.^2)*const1))./exp((x.^2+y.^2)*const2));
surf(x,y,z)
colormap(winter) %looks more natural with this colormpa
Paulo Silva
Paulo Silva 2011 年 8 月 28 日
here's a better version
amp=200;
[x,y]=meshgrid(-50:.1:50,-50:.1:50);
const1=1;
const2=0.001;
z=(amp*cos(sqrt((x.^2+y.^2)*const1))./exp((x.^2+y.^2)*const2));
s=surf(x,y,z);
colormap(winter)
set(s, 'edgecolor','none') %without the black lines, closer to real water ripples
Paulo Silva
Paulo Silva 2011 年 8 月 28 日
for even better results use set(s, 'edgecolor','none','FaceColor','interp')
that removes the black lines and other colored lines, also the meshgrid can be created like this [x,y]=meshgrid(-50:.1:50); because both arguments were the same vector.
Paulo Silva
Paulo Silva 2011 年 8 月 28 日
finally you might want some transparency on your water ripples, add this line to the end of the code: alpha(0.9) %the argument must be inside the interval [0 1]
12ar.af
12ar.af 2011 年 8 月 28 日
Thanks....now it looks exactly as i wanted to be...much appreciated mate

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

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File Exchange で MATLAB についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by