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?

 Akzeptierte Antwort

Voss
Voss am 11 Mai 2022
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 Kommentare

Sabrina Bitz
Sabrina Bitz am 11 Mai 2022
Thanks a lot!!
Sabrina Bitz
Sabrina Bitz am 11 Mai 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 am 11 Mai 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 am 12 Mai 2022
Thank you!!
Voss
Voss am 12 Mai 2022
You're welcome!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Mathematics finden Sie in Hilfe-Center und File Exchange

Gefragt:

am 11 Mai 2022

Kommentiert:

am 12 Mai 2022

Community Treasure Hunt

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

Start Hunting!

Translated by