how to generate a smooth sine wave with time varying frequency in matlab
The wording of your question (your terminology) makes it difficult to understand exactly what you desire. Is your question, "Using Matlab, how do I generate a time-domain sequence representing a sinusoidal wave whose instantaneous frequency increases as a linear function of time so that its spectrum contains a broad band of spectral energy?" If so, then try the following example Matlab code:

Fs = 1000;       % Signal sample rate in Hz

Dur = 1;         % Signal's 1-second time duration

Time = 0:1/Fs:Dur;  

Fstart = 100;    % Start freq is 100 Hz

Fstop = 400;     % Final freq is 400 Hz

Sig = chirp(Time,Fstart,Dur,Fstop);   % Generate a "chirp" sequence


rpatel, generate the above 'Sig' signal, compute its DFT samples, and plot the DFT's spectral magnitude values. Maybe that's what you want.