MATLAB: Time vector to generate a sinusoid signal with 0.5 seconds duration , Fs =200

sinusoid signaltime vector

Hi , please I'm confused with the following time vectors t1 and t2 to generate 0.5 second duration sinusoid signal :
Vector t1 has equally spaced samples at Ts intervals , but the signal x1 has duration equal to ( duration+Ts ) seconds , I checked x1 length .
Vector t2 has equally spaced samples not Ts intervals , signal x2 dutaion = ( duration ) secons excatly , which time vector is correct ?
%% Generates a sine wave of 0.5 second duration
F0=10; % Sinusoid frequency in Hz
Fs=200; % sampling frequency samples / sec
duration=0.5; % signal duration is seconds
Ts=1/Fs; % sampling Interval
t1=0:Ts:duration; % time vector with equally spaced samples at Ts intervals
t2=linspace(0,duration,duration*Fs); % time vector with samples not at Ts intervals
x1=sin(2*pi*F0*t1); % signal duration = ( duration+Ts ) seconds , length = 101 points
x2=sin(2*pi*F0*t2); % signal duration = ( duration ) secons , length = 100 points

Best Answer

When using linspace, don't forget to account for 0. For example, how many numbers are there between 0 and 10? 11.
You should add 1 to your calculated number of points. This way, the colon operator and linspace give the same result, and both t1 and t2 are vectors with 101 points.
t1 = 0:1/200:0.5;
mean(diff(t1))
ans = 0.0050
t2 = linspace(0,0.5,0.5*200+1);
mean(diff(t2))
ans = 0.0050