Can someone please explain why my function wont plot correctly
Show older comments
clear all
t=0:10;
y=-2:0.5:2
fig1=0.001*sin((2*t)+(pi/2));
plot (fig1), grid on
Answers (2)
Dyuman Joshi
on 10 Sep 2023
Edited: Dyuman Joshi
on 10 Sep 2023
You need atleast 2 sets of values to plot a graph.
I assume you want to plot fig1 against t
t=0:10;
fig1=0.001*sin((2*t)+(pi/2));
plot(t, fig1)
grid on
fun = @(t) 0.001*sin((2*t)+(pi/2));
fplot(fun,[0 10])
If this is not what you want, please specify what you want to plot.
2 Comments
Daniel
on 10 Sep 2023
Dyuman Joshi
on 19 Sep 2023
@Daniel, if this answer solved your problem, please consider accepting it.
You'd need to take a bit small step size for t to make your plot look like a sine wave:
clear all
dt=0.1;
t=0:dt:10;
fig1=0.001*sin((2*t)+(pi/2));
figure(1)
plot(t, fig1, 'ro--'), grid on
xlabel('t')
ylabel('y(t)')
%% Alt. way is:
y=@(t)0.001*sin((2*t)+(pi/2));
N = 200; % Number of points
t = linspace(0, 10, N);
figure(2)
plot(t, y(t), 'kd--'), grid on
xlabel('t')
ylabel('y(t)')
Categories
Find more on Title 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!



