Morse potential constants using matlab

4 次查看(过去 30 天)
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 个评论
Jiri Hajek
Jiri Hajek 2023-1-16
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...

请先登录,再进行评论。

回答(1 个)

Luca Ferro
Luca Ferro 2023-1-16
编辑:Luca Ferro 2023-1-16
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 个评论
Walter Roberson
Walter Roberson 2023-1-16
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 2023-1-16
编辑:Luca Ferro 2023-1-16
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.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Get Started with Optimization Toolbox 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by