changing expression to function and then optimize the function
1 次查看(过去 30 天)
显示 更早的评论
for the follwing expresson:
expr = expr + w(r2) * (sqrt((x(r1)-a(i))^2 + (y(r1)-b(i))^2)) - w(r1) * (sqrt((x(r2)-a(i))^2 + (y(r2)-b(i))^2));
I converted it to function by
syms expr x y w
ht = matlabFunction(expr);
Please suggest hw to minimize the above expression to find the values of multiple values of x,y and w.
I have data for the variable a,b,r1 and r2
0 个评论
回答(1 个)
Matt J
2024-1-15
编辑:Matt J
2024-1-15
Do not use syms or matlabFunction for a situation like this. Just write a plain function to compute the expression,
function expr=ht(xyw, a,b,r1,r2)
x=xyw(1);
y=xyw(2);
w=xyw(3)
expr=...
end
and then optimize it with, for example,
x0=... %initial guesses
y0=...
w0=...
xyw=fminunc(@(xyw) ht(xyw, a,b,r1,r2) , [x0,y0,w0])
2 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!