Showing posts with label LineSmoothing. Show all posts
Showing posts with label LineSmoothing. Show all posts

Friday, December 28, 2012

Line Smoothing for Matlab plot() command

The regular Matlab plot() command outputs curvy lines as if they are staircased due to the lack of proper antialiasing. A remedy for this is to use the hidden feature of line properties: LineSmoothing (plot(function,'LineSmoothing','on')). One example is shown below:

LineSmoothingDemo
clear all; clc;

% Simple example showing the Line Smoothing property

freq=1e6;        % frequency of operation
omega=2*pi*freq; % angular frequency
T=1/freq;        % period

Nt=10;
dt=T/Nt;

c=3e8;           % speed of light
lambda=c/freq;   % wavelength
k=2*pi/lambda;   % wavenumber

Nx=20;
dx=lambda/Nx;

x=(-6*lambda):dx:(6*lambda);

% Evaluate $$ f(x)= sin(\omegat-kx) $$ at t=0
func= sin(omega*0-k*x);

% Plot
figure(1); clf; set(gcf,'Color',[1 1 1]);
subplot(2,1,1);
plot(x,func,'-b'); hold on;
title('No Line Smoothing');
Xlim([x(1) x(end)])

subplot(2,1,2);
plot(x,func,'-r','LineSmoothing','on')
title('With Line Smoothing');
Xlim([x(1) x(end)])

For more information and other tips on Matlab, please refer to the following website: undocumentedmatlab.com