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

Making a quiz web app with python and flask

Edit : When you are creating a web app with h tml templates, then y ou will have to sa ve the html file in templates folder in the Current Wor ki ng Directory( CWD). If you save the file in the C W D directl y you will get a TemplateNotFound error. Thank you Udhay for pointing it out.   In this post we will create a quiz website using python . I will be using the flask framework . After reading this tutorial you will learn form submission , flask templates , python code in flask templates , shuffling the questions and options with the random module and few others.  Please note that this tutorial is not big as it seems to be. Some of the code has been rewritten to maintain consistency and also font size is somewhat big so that your eyes won't get stressed reading this tutorial. Also the content has not occupied the full width of the page. In this tutorial I am assuming that you are having a very basic understanding of the flask framework . Please refer the documentation

Problem 11 Project Euler Solution with python

Largest product in a grid In the 20×20 grid below, four numbers along a diagonal line have been marked in red. 08 02 22 97 38 15 00 40 00 75 04 05 07 78 52 12 50 77 91 08 49 49 99 40 17 81 18 57 60 87 17 40 98 43 69 48 04 56 62 00 81 49 31 73 55 79 14 29 93 71 40 67 53 88 30 03 49 13 36 65 52 70 95 23 04 60 11 42 69 24 68 56 01 32 56 71 37 02 36 91 22 31 16 71 51 67 63 89 41 92 36 54 22 40 40 28 66 33 13 80 24 47 32 60 99 03 45 02 44 75 33 53 78 36 84 20 35 17 12 50 32 98 81 28 64 23 67 10 26 38 40 67 59 54 70 66 18 38 64 70 67 26 20 68 02 62 12 20 95 63 94 39 63 08 40 91 66 49 94 21 24 55 58 05 66 73 99 26 97 17 78 78 96 83 14 88 34 89 63 72 21 36 23 09 75 00 76 44 20 45 35 14 00 61 33 97 34 31 33 95 78 17 53 28 22 75 31 67 15 94 03 80 04 62 16 14 09 53 56 92 16 39 05 42 96 35 31 47 55 58 88 24 00 17 54 24 36 29 85 57 86 56 00 48 35 71 89 07 05 44 44 37 44 60 21 58 51 54 17 58 19 80 81 68 05 94 47 69 28 73 92 13 86 52 17 77 04 89 55 40 04 52 08 83 97 35 99 16 07

Problem 60 Project Euler Solution with python

Prime pair sets The primes 3, 7, 109, and 673, are quite remarkable. By taking any two primes and concatenating them in any order the result will always be prime. For example, taking 7 and 109, both 7109 and 1097 are prime. The sum of these four primes, 792, represents the lowest sum for a set of four primes with this property. Find the lowest sum for a set of five primes for which any two primes concatenate to produce another prime. This problem is j u st a brute force problem. If you have come here because you don't know the limit upto which you will h ave to gener ate the prime numbers t hen go ahe ad and t r y with 10,000 . When I first start ed solving the problem I chose 1 million(beca use most of the problem s on project E uler have this limit ), but it took very long for the computer to fin d the solution. After searching on the internet then I found many people choosing 10, 000 so I have changed my in put f rom 1 million to 10000 and the output was f ast. He