Finding all possible zeros for a function with 2 independent variables.
2 views (last 30 days)
I have the following function where v & n are the independent variables and the others are constants. am(v) and bm(v) are two other separate functions of v.
function f = F(v,n,i,a,b,vNa,vK,vL)
amv = am(v);
bmv = bm(v);
tmv = 1./(amv + bmv);
f = i - 120.*(amv.*tmv).^3.*(b-a.*n).*(v-vNa) - 36.*(n).^4.*(v-vK)-0.3.*(v-vL);
I basically want to find the values of v & n where f = 0. I just don't really know where to start when I have two unknowns. I've tried looking at https://www.mathworks.com/help/optim/ug/fsolve.html but it did not make much sense.
The end goal is to graph the values of v and n on a plot, so having it result in a matrix would be useful. I am not sure if that's possible though. Thank you for any help in advance!
Star Strider on 6 Jul 2022
For contour, create a matrix for ‘v’ and ‘n’ using either ndgrid or meshgrid, then specify [0 0] as the contour to plot:
NM = number_of_elements;
vv = linspace(minvalv, maxvalv, N);
nv = linspace(minvaln, maxvaln, N);
[Vm,Nm] = ndgrid(vv, nv);
Fm = F(vv,nv,,i,a,b,vNa,vK,vL);
C = contour(Vm,Nm,Fm, [0 0])
That will plot them. To retrieve the (x,y) values, use find to determine the locations of ‘C(1,:)’ that equal zero, then ‘C(2,:)’ of those indices are the number of (x,y) pairs in the contour. That will determine how to recover them.
It will likely be easier to plot and recover the data from the fimplicit plot.