HOW DO I DO THAT IN MATLAB SERIES?

In this series, I am answering questions that students have asked me about MATLAB. Most of the questions relate to a mathematical procedure.

Contents

TOPIC

How do I differentiate a function?

SUMMARY

% Language : Matlab 2008a;
% Authors : Autar Kaw;
% Mfile available at
% <http://numericalmethods.eng.usf.edu/blog/differentiation.m>;
% Last Revised : March 21, 2009;
% Abstract: This program shows you how to differentiate a given function.
clc
clear all

INTRODUCTION

disp('ABSTRACT')
disp('   This program shows you how to differentiate')
disp('   a given function and then find its value')
disp('   at a given point')
disp(' ')
disp('AUTHOR')
disp('   Autar K Kaw of http://autarkaw.wordpress.com')
disp(' ')
disp('MFILE SOURCE')
disp('   http://numericalmethods.eng.usf.edu/blog/differentiation.m')
disp(' ')
disp('LAST REVISED')
disp('   March 21, 2009')
disp(' ')
ABSTRACT
   This program shows you how to differentiate
   a given function and then find its value
   at a given point
 
AUTHOR
   Autar K Kaw of http://autarkaw.wordpress.com
 
MFILE SOURCE
   http://numericalmethods.eng.usf.edu/blog/differentiation.m
 
LAST REVISED
   March 21, 2009
 

INPUTS

% Differentiate 7 exp(3*x) once and find the value of the
% first derivative at x=0.5
% Define x as a symbol
syms x
% Defining the function to be differentiated
y=7*exp(3*x);
% Defining the point where you want to find the derivative
xx=0.5;

DISPLAYING INPUTS

disp('INPUTS')
func=['  The function is to be differentiated is ' char(y)];
disp(func)
fprintf('  Value of x where you want to find the derivative, x= %g',xx)
disp('  ')
disp('  ')
INPUTS
  The function is to be differentiated is 7*exp(3*x)
  Value of x where you want to find the derivative, x= 0.5  
  

THE CODE

% Finding the derivative using the diff command
% Argument 1 is the function to be differentiated
% Argument 2 is the variable with respect to which the
%    function is to be differentiated - the independent variable
% Argument 3 is the order of derivative
dydx=diff(y,x,1);
% subs command substitues the value of x
dydx_val=subs(dydx,x,xx);

DISPLAYING OUTPUTS

disp('OUTPUTS')
derivative_func=['  The derivative of function ' char(y) ' is ' char(dydx)];
disp(derivative_func)
fprintf('  Value of dydx at x=%g is =%g',xx,dydx_val)
disp('  ')
OUTPUTS
  The derivative of function 7*exp(3*x) is 21*exp(3*x)
  Value of dydx at x=0.5 is =94.1155