Graphing the Van Der Pauw Equation

1 view (last 30 days)
Snow
Snow on 31 Jan 2023
Answered: Sai on 27 Feb 2023
I am trying to write a code to solve the Van Der Pauw Equation (https://en.wikipedia.org/wiki/Van_der_Pauw_method) and then evaulate what happens when R_horizontal= R + R_vertical.
The Van Der Pauw equation is defined as
VDP = exp(-pi*R_h/R_s)+exp(-pi*R_v/R_s)=1 , where R_s is the sheet resistance.
I am not sure how to approach this problem. The only real unknown quantiity would be R_s, but the thing is R_h and R_v can take any value?
I came across this post, but this solves for specific values?
I thought maybe defining
R_h = linspace(1,100)
R_v = linspace(1,100)
then writing a for loop for when R_h ~=R_v I input those values into VDP. But then I still wouldnt have R_s?
Does anyone have some insight on how I should approach this?
  1 Comment
Rik
Rik on 31 Jan 2023
What exactly do you want to solve? It sounds like you want to plot Rs versus some other variable, but I don't fully understand which.
Another point of clarification: can you confirm the R in your equation is Rs?

Sign in to comment.

Answers (1)

Sai
Sai on 27 Feb 2023
I understand that you wanted to solve for sheet resistance (‘R_s’) in Van Der Pauw equation.
If there is only one equation, there should be only one unknown variable in it for which we have to solve.
I am not sure of the values ‘R_h’ and ‘R_v’ can take, but you can use range of values using ‘linspace()’ so that ‘R_s’ results in a vector.
R_h = linspace(1,100);
R_v = linspace(1,100);
k = length(R_h);
for i = 1:k
vdp = @(R_s) (exp(-pi*R_h(i)/R_s) + exp(-pi*R_v(i)/R_s));
R_s(i) = fsolve(vdp,1);
end
disp(R_s)
The above code works and results in ‘R_s’ as a vector
Please refer to fsolve and fzero for future reference

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!