Clear Filters
Clear Filters

Morse potential constants using matlab

4 views (last 30 days)
Carc
Carc on 16 Jan 2023
Edited: Luca Ferro on 16 Jan 2023
V(r)=D[exp(−2a(r−ro))−2exp(−a(r−ro))]: This is the mores potential equation. I have the data V(r) and r, how can I find the constant D, a, ro using matlab? I really don’t know how to start. Could you give me some advices?
  1 Comment
Jiri Hajek
Jiri Hajek on 16 Jan 2023
Hi, this is a nonlinear regression problem, which is solvable using optimization methods. Depending on whether you need to automate the task by using programmatic solution, whether you need to use MATLAB to achieve this, whether you have access to optimization toolbox and what is the size of your data, it is surely solvable in MATLAB, but Excel may give you a solution as well...

Sign in to comment.

Answers (1)

Luca Ferro
Luca Ferro on 16 Jan 2023
Edited: Luca Ferro on 16 Jan 2023
try this:
syms D a ro ; %create symbolic scalar variables
eq = V==D*(exp(-2*a*(r-ro))-2*exp(-a*(r-ro))); %create equation
sol=solve(eq); %solve the equation
since you have 1 equation and 3 variables the output will be symbolic (assuming V and r are scalars)
EDIT:
as Walter Robertson highlighted in the comments, it's better to specify what to solve for:
sol=solve(eq, [ro a D]); %solve the equation
  3 Comments
Walter Roberson
Walter Roberson on 16 Jan 2023
One equation cannot be solved for three variables.
When you do not specify which variable to solve for, MATLAB uses symvar to figure out which free variables exist in the equation(s). It has a priority order that starts with x y z. After prioritizing it uses the first on the list, as many as there are equations.
Luca Ferro
Luca Ferro on 16 Jan 2023
Edited: Luca Ferro on 16 Jan 2023
Specifying all of three at least returns a struct with values for all of them.
With only one you get the symbolic solution, that's why i left it without specification in first place.
I don't know what the OP is looking for, so i gave him some alternatives after you pointed out the inaccuracy of my reply.

Sign in to comment.

Categories

Find more on Get Started with Optimization Toolbox 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!