Plotting graph for integration with parameters
1 view (last 30 days)
Show older comments
I would like to draw a graph . I can't get any graph with my code. Interval of Fn is 0.05 and want it to be plotted on x axis.
T = 0.08; B = 0.1; L = 1; S = 0.188;
syms u
for Fn = 0.1 : 0.05 : 0.7
K = @(u) 32./pi.*B.^2.*(T./L).^2./S./Fn.^4.*((sin(cosh(u)./(2.*Fn.^2))./(cosh(u)./(2.*Fn.^2)).^2 - cos(cosh(u)./(2.*Fn.^2))./(cosh(u)./(2.*Fn.^2))).*((1-2./(T./L.*(cosh(u)./Fn).^2).^2)./(T./L.*(cosh(u)./Fn).^2)+2./(T./L.*(cosh(u)./Fn).^2).^2.*exp(-T./L.*(cosh(u)./Fn).^2).^2.*(1+1./(T./L.*(cosh(u)./Fn).^2))).*cosh(u)).^2;
Q = int(K,u,0,10);
end
hold on
for Fn = 0.1 : 0.05 : 0.7
plot(Fn,Q)
end
hold off
It's my first time making a code so there would be lots of errors.
Q converges before inf. So doesn,t need to be integrated to infinity.
K would be like below as make it simpler.
T = 0.08; B = 0.1; L = 1; S = 0.188;
a = @(u) cosh(u)/(2*Fn^2);
b = @(u) T/L*(cosh(u)/Fn)^2;
X=@(u,a) sin(a)/a.^2-cos(a)/a;
Z=@(u,b) 1/b*(1-2/b.^2)+2/b.^2*(1+1/b)*exp(-b);
K=@(u,X,Z,a,b) 32/pi*B.^2/S*(T/L).^2/Fn.^4*(X*Z*cosh(u)).^2
0 Comments
Answers (1)
Anilcan Taner
on 26 Apr 2021
Sadly I have no idea about your code but I guess you should create empty Q variable with lets say ones code or zeros code. By that I mean that your Q variable might not be saving along the way in the for loop. Q=ones(your_size_in_row,your_size_in_column)
Same follows for Fn too, create Fn in variable form than try to plot(Fn,Q).
Hope it helps. I am newbie like you too.
0 Comments
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!