Skip to main content

Find the equivalent resistance of parallel connected resistors using matlab

Problem

Write a program in matlab to find the equivalent resistance of the given parallel connected resistors using function and without using function.

Solution

Here the question was asked to write the program to find the equivalent resistances which are connected in parallel. But here it is not given how many resistors are there, so I will write a program where the computer will be asking the user the value of resistance until the user types some number say(0). This program(s) is(are) simple and are based on very basic concept. The formula behind the parallel connected resistors is:

Image Courtesy: http://images.tutorvista.com/cms/images/83/parallel-resistance-formula.png

And hence we will finally find the Rp from the above formula.
To understand any of these programs you need to know the following:
1) For loop in matlab
2) Varargin in matlab
3) nargin in matlab
4) input function in matlab
5) While loop in matlab

Find the explanation for the program below the program section.

Program

1) Using Function

function equiv = parallel(varargin)
%this function takes the input from the user with n number of resistors and
%find the equivalent of all th reistors in the parallel connected resitance

%nargin function to find the length of the resistances input given
n = nargin;

%sum variable to store the value of the inverse of the resistances
sum = 0;

for i = 1:n
    sum = sum+(1/varargin{i})
end

equiv = 1/sum;

2) Without using function

request = input('Enter the value of the resistance connected in parallel: ');
sum = 0;
while request~=0
    sum = sum + (1/request);
    request = input('Enter any value of the resistance. Enter 0 to exit');
end
fprintf('The equivalent resistance is %s\n',num2str(1/sum));

You can download the function version and non function version of the above two matlab files from here:
1) Function version - parallel.m
2) Non function version - parallelnf.m

Explanation

Program 1 - with function

Here in function we have used the varargin to take variable number of arguments in a function. And then we have counted the number of arguments the user has given input using the nargin and we have looped through the variables which are cell arrays and then the inverse is added to the sum variable which was declared before the start of the for loop. Finally an equiv variable is created and the inverse of the sum is stored to it. At the end of the program the equiv is returned to the output.

Program2 - without function

In this program we will just use the input function and prompt the user to enter the value of the resistance connected in parallel. The user enters a value. If the user enters zero the while loop is not executed and the fprintf shows the corresponding result. At this point out of the while loop if the user enters a non negative, non zero number then the while loop digs deep and add the inverse of the resistance to the sum variable and again prompts the user to enter the value of the next resistance. Here again the while loop checks if the user has entered zero, if the fprintf function is evoked or else the while loop again digs deep adding the inverse of previously entered resistance to the sum and again prompts the user for input and this continues until the user enters a non zero real number.

I have tried to explain the program and the concept so that it will be easy to understand for everyone. If you have any doubt or didn't understand any concept please don't hesitate to ask me the question either in comment box or contact me. You can contact me here: contact me.

The above code was highlighted using hilite.me.

If you want to know more about resistances and parallel connection, then you can see it here: 
2) Resistors in Parallel - Parallel Connected Resistors

Run the program and comment below the output you are getting for a given input.

Keywords: matlab function, parallel resistance, equivalent resistance

Popular posts from this blog

Project Euler Problem 67 Solution with Python

Maximum path sum II By starting at the top of the triangle below and moving to adjacent numbers on the row below, the maximum total from top to bottom is 23. 3 7 4 2 4 6 8 5 9 3 That is, 3 + 7 + 4 + 9 = 23. Find the maximum total from top to bottom in triangle.txt (right click and 'Save Link/Target As...'), a 15K text file containing a triangle with one-hundred rows.

Problem 43 Project Euler Solution with python

Sub-string divisibility The number, 1406357289, is a 0 to 9 pandigital number because it is made up of each of the digits 0 to 9 in some order, but it also has a rather interesting sub-string divisibility property. Let d 1 be the 1 st digit, d 2 be the 2 nd digit, and so on. In this way, we note the following: d 2 d 3 d 4 =406 is divisible by 2 d 3 d 4 d 5 =063 is divisible by 3 d 4 d 5 d 6 =635 is divisible by 5 d 5 d 6 d 7 =357 is divisible by 7 d 6 d 7 d 8 =572 is divisible by 11 d 7 d 8 d 9 =728 is divisible by 13 d 8 d 9 d 10 =289 is divisible by 17 Find the sum of all 0 to 9 pandigital numbers with this property. One might write a simple solution using direct if else statements for this problem. Using if else statements, the execution time may be a few seconds. But this is not a very good approach. I too had written a program with if else statement which will take each and every permutation of the 0-9 Pandigital and check for the conditions given in the qu...

Add/Embed SVG to Blogger website

In this post I will tell you my method(trick) of adding SVG images in a blogger website or blog. Before starting , the first thin g I am assu m ing is that you are aware of SVG if you are here. If not please see S calable V ec tor G raphics Recently when I tried to embed a SVG image for a post on pygal, I tried uploading the SVG file and blogger Image uploader came up with an error, because of which I had to find some other way.  SVG File upload Error in Blogger  I started sea rc hing Google " Embed SVG in Blogger " . I found blogorrhea , w h ich gave some i nformatio n on add ing SVG directly as a markup , which worked , but I faced another problem using this . Also th is guy has used lot of Javascript which was confusin g for me, being new to using SVG.   So I first t houg ht of learning on h ow to embed SVG in HTML and t his on e worked out. Actually we can embed SVG in HTML i n following ways: Using Object tag Using Iframe tag Using embed...