Does somebody know how to plot this function?

I have the exercise to plot this function:
I have to use an anonymous function
That's my code until now:
figure; hold on;
y = @(x) tan(3*x) + 5*x-4;
x = linspace(0,180);
plot(x, y(x) ,'c');
axis([0 180 -100 1000]);
title('Funktion y = tan(3x)+5x-4');
xlabel('x-Werte[°]');
ylabel('Funktionswerte');
But I don't know how to get the parts between the tangent
or if my solution is even the right beginning, can somebody help?

 Respuesta aceptada

Use tand rather than tan, because the argument 3*x is in degrees rather than radians.
Increase the number of points to see the asymptotes better. Here I've used 1000 points total.
figure; hold on;
y = @(x) tand(3*x) + 5*x-4;
x = linspace(0,180,1000);
plot(x, y(x) ,'c');
axis([0 180 -100 1000]);

7 comentarios

Sabrina Bitz
Sabrina Bitz el 11 de Mayo de 2022
Thanks a lot!!
Sabrina Bitz
Sabrina Bitz el 11 de Mayo de 2022
There's something missing I realize now: There needs to be space between the tands, what can be seen in the original, how do I get them?
Probably the easiest way to do that is to use fplot instead of plot:
figure; hold on;
y = @(x) tand(3*x) + 5*x-4;
fplot(y,[0 180],'c');
axis([0 180 -100 1000]);
Sabrina Bitz
Sabrina Bitz el 11 de Mayo de 2022
How is it possible with plot? It says specificially plot in the exercise
Including the exact values of x where tan(3x) goes to infinity seems to work ok.
figure; hold on;
y = @(x) tand(3*x) + 5*x-4;
x = sort([linspace(0,180,1000) 30:60:180]);
plot(x, y(x) ,'c');
axis([0 180 -100 1000]);
Sabrina Bitz
Sabrina Bitz el 12 de Mayo de 2022
Thank you!!
Voss
Voss el 12 de Mayo de 2022
You're welcome!

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Mathematics en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 11 de Mayo de 2022

Comentada:

el 12 de Mayo de 2022

Community Treasure Hunt

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

Start Hunting!

Translated by