Trouble plottiing a trig function

2 visualizaciones (últimos 30 días)
Snow
Snow el 18 de Nov. de 2022
Comentada: Image Analyst el 19 de Nov. de 2022
I want to plot the function sin^3(x)/((1-cos(x))^5) for values of x=[:pi].
So first I declared x = [0:.01:pi]
Then I try creating y.
When I set y = sin(x).^3 I do get a continous plot.
But when I start really tring to build the function for y, where y = sin^3(x)/((1-cos(x)).^5) i just get one single value when I do
plot(x,y).
Why is it all of a sudden giving me single value when I suddenl introduce the denominator?

Respuesta aceptada

John D'Errico
John D'Errico el 18 de Nov. de 2022
Editada: John D'Errico el 18 de Nov. de 2022
Ok. You knew you had to use the .^ operator to raise the elements to a power, element-wise. There are also .* and ./ operators, for the same reason. Use them.
And then, we see you still did not even take your own advice, even though you said you knew how to raise sin(x) to a power. You still wrote the wrong expression.
y = sin(x).^3./((1-cos(x)).^5)
__ _
Note the two differences in what I wrote.
You should also learn to use linspace, NOT the colon operator for this. Why?
x = [0:.01:pi];
Look at the final element of x. Is it pi? No. In fact, it is wrong by a fair amount, that in some problems will be significant.
pi - x(end)
ans =
0.00159265358979299
However, if you do this:
x = linspace(0,pi,100);
pi - x(end)
ans =
0
Now it hits the endpoint exactly.
  3 comentarios
John D'Errico
John D'Errico el 18 de Nov. de 2022
Then don't forget also the .* operator. No need to worry about addition and subtraction though. No dots there.
Image Analyst
Image Analyst el 19 de Nov. de 2022
@Anthony Ramirez If John's advice worked, please click the "Accept this answer" link to award John "reputation points". Thanks in advance. 🙂

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by