i have create a figure like circle

3 views (last 30 days)
Rezaul hasan
Rezaul hasan on 25 May 2022
Commented: DGM on 25 May 2022
i have to create a figure like this picture. Given value is r= 262pixel, Wmax= 10.6pi , equation is w=Wmax*(1-(x^2+y^2)/(r^2))^2 , x and y are two variables, we cannot know their values.x and y are satisfied the following condition:
sqrt(x^2+y^2)<=r.
i did code this one . but this isn't working. plz anyone help me what is the wrong here. i will be greatful to you.
clear all
format long
r=262;
Wmax=10.6*pi;
syms x y;
xlabel('x')
ylabel('y')
if sqrt(x^2+y^2)>=r
w=0;
elseif sqrt(x^2+y^2)<r
w=Wmax*(1-(x^2+y^2)/r^2)^2;
end
plot(w)

Accepted Answer

DGM
DGM on 25 May 2022
Try something like this.
% parameters
rmax = 262;
Wmax= 10.6*pi;
% create values
x = -rmax:rmax;
y = x.';
rsq = (x.^2 + y.^2);
w = Wmax*(1-rsq/(rmax^2)).^2;
% truncate background
mk = rsq > rmax^2;
w(mk) = 0;
% show result
imshow(w,[])
  2 Comments
Rezaul hasan
Rezaul hasan on 25 May 2022
thanks for answering. can you plz use this eqaution 1-cosw . after using your code, which one you just gave. you will get graph like this. plz send the code after finding graphs.
DGM
DGM on 25 May 2022
You mean this?
% parameters
rmax = 262;
Wmax= 10.6*pi;
% create values
x = -rmax:rmax;
y = x.';
rsq = (x.^2 + y.^2);
w = Wmax*(1-rsq/(rmax^2)).^2;
w = 1-cos(w);
% truncate background
mk = rsq > rmax^2;
w(mk) = 0;
% show result
imshow(w,[])

Sign in to comment.

More Answers (0)

Categories

Find more on Data Type Identification in Help Center and File Exchange

Products


Release

R2020a

Community Treasure Hunt

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

Start Hunting!