How to plot general solution of a trigonometric function???
Show older comments
I want to plot a graph of a and b defined by this equation. 1-2*cosd(a)+2*cosd(b)=0 when I started plotting only graph of the principal solutions of cos is considered. whereas i want all possibilities of general solutions. by using contour only plot of functions can be drawn. what do i do now????
8 Comments
HARSHA GYANANI
on 11 Jun 2018
Edited: Walter Roberson
on 11 Jun 2018
Walter Roberson
on 11 Jun 2018
The straight line is not present in the plot unless you ignore the imaginary component of y.
What would be the equation for the other parts you want drawn? Those curves are not the half circles.
HARSHA GYANANI
on 12 Jun 2018
Walter Roberson
on 12 Jun 2018
Why stop at two solutions? Why not also look at 450, 630, and so on?
HARSHA GYANANI
on 13 Jun 2018
Walter Roberson
on 13 Jun 2018
The below code requires R2016b or later:
Macosd = @(X) sort([(-1800:360:1800).'+acosd(X); (-1800:360:1800).'-acosd(X)]);
x = linspace(0, 90, 361);
y = (Macosd((-1+2*cosd(5*x))/2))./5;
plot(x, real(y))
If you zoom into the region near x = 24, you might see what looks like a "bounce". This is a side effect of the fact that when you start talking about taking multiple non-principle branches of the acosd, that the ordering of the branches is not well defined. Also, the sorting is not well defined for the places where acosd is imaginary. Also, as a limitation, the Macosd function produces duplicate points for cosd = +/- 1, but that case cannot show up in this particular use of it.
For release before R2016b, the code could be rewritten to use bsxfun.
HARSHA GYANANI
on 17 Jun 2018
Walter Roberson
on 17 Jun 2018
Macosd = @(X) sort([ bsxfun(@plus, (-1800:360:1800).', acosd(X)); bsxfun(@minus, (-1800:360:1800).', acosd(X))]);
Answers (2)
KSSV
on 11 Apr 2018
N = 100 ;
a = linspace(0,2*pi,N) ;
b = linspace(0,2*pi,N) ;
[X,Y] = meshgrid(a,b) ;
Z = 1-2*cos(X)+2*cos(Y) ;
surf(X,Y,Z)
hold on
contour(X,Y,Z,[0 0],'r')
5 Comments
HARSHA GYANANI
on 13 Apr 2018
KSSV
on 13 Apr 2018
contour(X,Y,Z,[0 0],'r')
HARSHA GYANANI
on 13 Apr 2018
Vivek Kumar
on 21 Mar 2020
bro please help me to plot a graph delta_lambda=h(1-cosX)/cm please help me
Walter Roberson
on 21 Mar 2020
Vivek Kumar: you should open a new Question for that. In that Question, please indicate which variables are your independent variables, and what range of values you want, and what style of plot you want.
Torsten
on 13 Apr 2018
0 votes
Derive b as a function of a, prescribe a range for a, calculate b and use "plot(a,b)".
Best wishes
Torsten.
Categories
Find more on 2-D and 3-D Plots 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!
