## Monday, February 11, 2013

## Sunday, February 10, 2013

### Newton Raphson Method

Hello everybody...

The following is a sample program to understand finding solution of a non linear equation using Newton Raphson Method. This program is not a generalised one. But you can understand the basic idea of the method and how to implement it using MATLAB. For more information about this method please try this

Try it for different functions

Thank you...

The following is a sample program to understand finding solution of a non linear equation using Newton Raphson Method. This program is not a generalised one. But you can understand the basic idea of the method and how to implement it using MATLAB. For more information about this method please try this

% This programme is to find the solution of a non linear equation by Newton Raphson method. % This is not a generalized program clc; clear all; format long; syms x; e = 1e-5; % setting the tolerance value dx = e + 1; f = log(2-x) + x^2; % enter your function here; x = 7; % initially assumed value of x count = 0; % setting counter to know the no of iterations taken p = zeros(1,1); while (abs(dx) > e) % initialising the iteration and continue until the error is less than tolerance dx = eval(f/(diff(f))); % calculating dx, diff is used for finding the differentiation of the fuction x = x - dx % updating the value of x count = count + 1; % incrimenting the counter p(count) = x; drawnow(); plot(abs(p),'r','linewidth',3); grid; if (count > 300) fprintf('Error...! Solution not converging !!! \n'); % printing the error message break; end end % plot(abs(p)); if (count < 300) fprintf('The solution = '); %printing the result x fprintf('\nNumber of iteration taken = %d\n',count); end

Try it for different functions

Thank you...

## Wednesday, February 6, 2013

### Convolution of two functions

Enter the following code in to your MATLAB editor. You could see how the convolution of two function in calculated. Try the same for your functions.

clc; clear all; t = 0 : 0.05 : 4; x = inline ('(exp(-0.001*t)).*(t >= 0)','t'); h = inline ('(exp(-0.001*t).*(t >= 0)) + (exp(-3*t)).*(t>=0)','t'); dtau = 0.005; tau = -1:dtau:4; ti = 0; tvec = -0.25:0.1:3.75; y = NaN * zeros (1, length (tvec)); figure(1); for t= tvec ti = ti + 1; xh = x(t - tau) .* h(tau); y(ti) = sum (xh .* dtau); subplot(2,1,1), plot(tau, h(tau), 'k-', tau,x(t-tau),'k--',t,0,'ok'); axis([tau(1) tau(end) -0.25 3]); subplot(2,1,2), plot(tvec, y, 'k', tvec(ti), y(ti),'ok'); axis([tau(1) tau(end) -0.25 5]); drawnow; pause(0.1); end

## Monday, February 4, 2013

### Using Inline fuction

inline(expression, arg1, arg2 ...) constructs an inline function whose input arguments are specified by the stringsarg1, arg2, ... Multicharacter symbol names may be used. This you can get from the matlab help.

Now.... how we can use them. I will divide it into different cases

If you want to make the graph thicker use

Now.... how we can use them. I will divide it into different cases

- Function with one variable.

t = -4 : 0.01 : 4; f = inline('(exp(t)+1)', 't');This will define your function. Now if you want to plot it in the whole range of t, use

plot(t, f(t));This will give you the following output (* click on the image to zoom in)

If you want to make the graph thicker use

plot(t,f(t),'linewidth', 2);

Test it with different values in place of 2.

2. Plotting different functions on same base

If you want plot different function for different input values then try as follows

f = inline('(-1.5*t+1) .* ((t>-3)&(t<0)) + (3) .* (t == 0)+ (1.5*t+1) .* ((t>0)&(t<3))'); plot(t,f(t),'r','linewidth', 3); grid on;You will get the

Subscribe to:
Posts (Atom)