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.
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
Run the program and comment below the output you are getting for a given input.
Keywords: matlab function, parallel resistance, equivalent resistance