How solve linear equations

1 次查看(过去 30 天)
Cong Liu
Cong Liu 2020-9-24
Hi everyone, I am working on a PhD assignement.
I need to solve a linear equation using matlab. The equation is listed below:
(Rb)^2*(xi)^2 + (Rb)^2*(X0)^2 + (Rb)^2*(xi)*(X0) + (Ra)^2*(yi)^2 + (Ra)^2*(Y0)^2 - (Ra)^2*(yi)*(Y0) - (Ra)^2*(Rb)^2 = 0;
I have 20 values of xi and yi, and I need to get the answers for X0, Y0, Ra, and Rb.
The examples on found on the internet are very simple linear equations which I am not so sure how to do it in my case.
Thank you!
  4 个评论
Cong Liu
Cong Liu 2020-9-25
编辑:Cong Liu 2020-9-25
https://ww2.mathworks.cn/matlabcentral/answers/599119-how-solve-linear-equations#comment_1022635
Hi Bjorn Gustavsson
Thank you for the response. yes, I am trying to fit parameters of an ellipse. I have a set of xi, yi data colllected from my experiment. Now I am trying to fit them into an sllipse. But first thing first, I need to calcualte the parameters.
Sorry I am new to this. What is the file exchange and how can it help me?
Bjorn Gustavsson
Bjorn Gustavsson 2020-9-25
You will find a link to the file exchange in the top-left drop-down text-menu. It is a repository of all sorts of additional functions and toolboxes for matlab. You will find a lot of useful stuff on there, never avoid looking for solutions to your problems there, even if you dont find an exact full solution you will, almost guaranteed, find something that takes you a large step of the way. In addition to that, from your question it seems that you should spend a day or two to work through the getting started and introduction stuff on the site. Here's the direct link to the file exchange: fileexchange

请先登录,再进行评论。

回答(1 个)

Alan Stevens
Alan Stevens 2020-9-24
编辑:Alan Stevens 2020-9-24
Here is one way of structuring your problem:
% Set initial values for Ra, Rb, X0, Y0
Guess = [Ra, Rb, X0, Y0]; % Use them to create initial guess
% Call solver with input arguments of Guess and the xi and yi data values.
[Values, Fval] = fminsearch(@fn,Guess,[],xi,yi);
% Extract values
Ra = Values(1);
Rb = Values(2);
X0 = Values(3);
Y0 = Values(4);
function F = fn(Guess,xi,yi)
Ra = Guess(1);
Rb = Guess(2);
X0 = Guess(3);
Y0 = Guess(4);
F1 = (Rb)^2*(xi).^2 + (Rb)^2*(X0)^2 + (Rb)^2*(xi)*(X0) ...
+ (Ra)^2*(yi).^2 + (Ra)^2*(Y0)^2 - (Ra)^2*(yi)*(Y0) ...
- (Ra)^2*(Rb)^2;
F = F1'*F1; % Assuming xi and yi are column vectors.
end

类别

Help CenterFile Exchange 中查找有关 Solver Outputs and Iterative Display 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by