Optical Transfer Function 3D Mesh

6 views (last 30 days)
Hi everyone, I am new to matlab coding and need some help!!
I am attempting to make a 3D mesh from the code below, however I am keep getting error codes!
p=(0:0.01:1);
plot(p,H)
title('Optical Transfer Function')
xlabel('x')
ylabel('H')
legend('H VS x')
[X,Y] = meshgrid(0:0.01:1);
mesh(X,Y)

Accepted Answer

Star Strider
Star Strider on 28 Nov 2019
Try this:
[X,Y] = meshgrid(-1:0.01:1);
R = sqrt(X.^2 + Y.^2) + eps;
Z = (2/pi)*((acos(R))-(R).*sqrt(1-(R).^2));
figure
mesh(X, Y, abs(Z))
grid on
then modify the code to get the plot in the image, for example:
Z = (2/pi)*((acos(R))-(R).*sqrt(1-(R).^2)) .* (R <= 1);
Experiment to get the result you want.
  2 Comments
Aadam Khokhar
Aadam Khokhar on 28 Nov 2019
Thank you so much! Life saver!!!!
Star Strider
Star Strider on 28 Nov 2019
As always, my pleasure!

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!