"asin" function is always solving between 0 and pi/2 of interval. Why?

2 次查看(过去 30 天)
I am encounering a problem when using asin function. function is solving the problem always between 0 and pi/2. why?
a=0.5;
x=[0.0 0.5 0.75 1.250 2.5 5.0 7.5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100]./100-0.5 ;
y=[0.0 0.394 0.475 0.594 0.795 1.090 1.322 1.518 1.828 2.066 2.245 2.375 2.459 2.498 2.487 2.420 2.290 2.106 1.881 1.623 1.339 1.038 0.729 0.430 0.165 0.0];
X=[x flip(x)]
Y=[y flip(y)];
for k=1:numel(X)
p(k) = 1-((X(k)./(2*a)).^2)-(Y(k)./(2*a)).^2;
sin2the(k) = (p(k)+sqrt(p(k).^2+(Y(k)./a)^2));
sinthe(k) = sqrt(sin2the(k)./2);
theta(k) = asin(sinthe(k));
psi(k) = asinh(Y(k)./(2.*a.*sinthe(k)));
end
plot(theta,psi)
graphic of psi againts theta must be like in picture

采纳的回答

Star Strider
Star Strider 2021-5-31
Most likelly because of the arguments you give it.
From the documentation:
  • For real values of X in the interval [-1, 1], asin(X) returns values in the interval [-π/2, π/2].
Illustrated here —
a=0.5;
x=[0.0 0.5 0.75 1.250 2.5 5.0 7.5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100]./100-0.5 ;
y=[0.0 0.394 0.475 0.594 0.795 1.090 1.322 1.518 1.828 2.066 2.245 2.375 2.459 2.498 2.487 2.420 2.290 2.106 1.881 1.623 1.339 1.038 0.729 0.430 0.165 0.0];
X=[x flip(x)]
X = 1×52
-0.5000 -0.4950 -0.4925 -0.4875 -0.4750 -0.4500 -0.4250 -0.4000 -0.3500 -0.3000 -0.2500 -0.2000 -0.1500 -0.1000 -0.0500 0 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5000 0.4500 0.4000 0.3500
Y=[y flip(y)];
for k=1:numel(X)
p(k) = 1-((X(k)./(2*a)).^2)-(Y(k)./(2*a)).^2;
sin2the(k) = (p(k)+sqrt(p(k).^2+(Y(k)./a)^2));
sinthe(k) = sqrt(sin2the(k)./2);
theta(k) = asin(sinthe(k));
psi(k) = asinh(Y(k)./(2.*a.*sinthe(k)));
end
plot(theta,psi)
asinarg = [min(sinthe) max(sinthe)]
asinarg = 1×2
0.8660 1.0000
asinv = asin(asinarg)
asinv = 1×2
1.0472 1.5708
asinext = asin([-1 1])
asinext = 1×2
-1.5708 1.5708
.
  6 个评论
Torsten
Torsten 2021-5-31
Maybe you could tell us the equation you are trying to solve for theta.
Is it true that "asinh" (inverse hyperbolic sine) is used in the calculation of psi ?

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Christmas / Winter 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by