Graphing the Van Der Pauw Equation

7 ビュー (過去 30 日間)
Snow 2023 年 1 月 31 日
回答済み: Sai 2023 年 2 月 27 日
I am trying to write a code to solve the Van Der Pauw Equation ( 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 件のコメント
Rik 2023 年 1 月 31 日
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?


回答 (1 件)

Sai 2023 年 2 月 27 日
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);
The above code works and results in ‘R_s’ as a vector
Please refer to fsolve and fzero for future reference


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

Community Treasure Hunt

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

Start Hunting!

Translated by