How can I plot this equation?

1 view (last 30 days)
Moj
Moj on 21 Aug 2013
I want to plot a figure but I don't know how to write "s" string with a loop. Here is my code
k1=5.3e-12;
k3=7.3e-12;
mu=pi*4e-7;
kapa=9.56e-7;
theta_m1 = 0;
theta_m2 = 0.44;
for theta_m= theta_m1:0.1:theta_m2
fun = @(x)(((k1*cos(x).^2 + k3*sin(x).^2)./(sin(theta_m)^2-sin(x).^2)).^0.5);
s(:) = integral(fun,0,theta_m);
end
for theta_m= theta_m1:0.1:theta_m2
plot((mu/kapa)^0.5 *(2/1e-6)* s(:) ,radtodeg(theta_m))
hold on
end

Answers (1)

Walter Roberson
Walter Roberson on 21 Aug 2013
thetas = theta_m1 : 0.1 : theta_m2
for K = length(thetas)
theta_m = thetas(K);
fun = @(x)(((k1*cos(x).^2 + k3*sin(x).^2)./(sin(theta_m)^2-sin(x).^2)).^0.5);
s(K) = integral(fun,0,theta_m);
end
  2 Comments
Moj
Moj on 21 Aug 2013
But why can't this code plot this equation?
Walter Roberson
Walter Roberson on 21 Aug 2013
Leave out the "for" loop around the plot
plot((mu/kapa)^0.5 *(2/1e-6)* s(:) ,radtodeg(theta_m))
Are you asking why your original code did not plot? It is because you overwrote all of s each time through your loop.

Sign in to comment.

Categories

Find more on MATLAB in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!