# How solve linear equations

1 view (last 30 days)
Cong Liu on 24 Sep 2020
Commented: Bjorn Gustavsson on 25 Sep 2020
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!
Bjorn Gustavsson on 25 Sep 2020
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

Alan Stevens on 24 Sep 2020
Edited: Alan Stevens on 24 Sep 2020
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