creating a figure that is a segment of another
4 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
i have a script that gives my figure(1) that graphs a cos wave over 5 sec then i need to section out the first second and have it display in figure(2). when i run my script i get the first figure and the second only displays the x,y cooridinates.
i think i have a problem in the way i sectioned the original vector.
my script looks like this:
clear;
clc;
close all;
% create vector of time values
t = 0.0 : 0.01 : 5.0;
% evaluate function at time points
f = 53*cos(104*pi*t).*exp(-1.35*t);
% plot t vs f(t)
figure(1)
plot(t,f);
xlabel('t(sec)');
ylabel('f(t)');
%reindex t to exclude the last four seconds
t = 0.0 : 0.01 : 5;
%plot t vs f(t)
figure(2)
plot(t,f(t));
xlabel('t(sec)');
ylabel('f(t)');
0 Kommentare
Akzeptierte Antwort
Sven
am 29 Aug. 2012
Bearbeitet: Sven
am 30 Aug. 2012
I see a few problems:
Your f variable is still based on the original vector of t. You need to run:
f = 53*cos(104*pi*t).*exp(-1.35*t);
again, after you set your new t
Also, you have set t to be the same vector (ie, t = 0.0 : 0.01 : 5; ). I don't think you wanted this.
Finally, in the second figure you are calling:
plot(t,f(t));
but t is still a vector of times, not a vector of indices.
Perhaps you meant the following:
% First figure
t = 0.0 : 0.01 : 5.0;
f = 53*cos(104*pi*t).*exp(-1.35*t);
figure
plot(t,f);
xlabel('t(sec)');
ylabel('f(t)');
% Second figure, using only first 1/5th of t, f
idxs = 1:round(length(t)/5);
figure
plot(t(idxs),f(idxs));
xlabel('t(sec)');
ylabel('f(t)');
By the way, have you tried instead just:
set(gca,'xlim',[0 1])
You can run this after the first plot, and it will "zoom in" on only the first portion from 0 to 1 along the x axis. The rest will be excluded from view.
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Creating, Deleting, and Querying Graphics Objects finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!