Solving system of eqution using vectors
Infos
Cette question est clôturée. Rouvrir pour modifier ou répondre.
Afficher commentaires plus anciens
Hi,
I have a problem with solving of equation, where unknown are vectors (coordinates of set of points: seznamX, seznamY, seznamZ) and my part of the program for solving it is:
syms r x y z
[l, m, n, Q] = solve(2*sqrt((seznamX-x).^2+(seznamY-y).^2+(seznamZ-z).^2)==r*ones(1,e),[x,y,z,r]);
It means I want to interpolate these points [seznamX,seznamY,seznamZ] with sphere and find its centre.
After running the program, it stops after the line [l, m, n, Q] , where a work with l. It returns me "Error in sym/subsasgn".
Where is the problem and how could I solve it?
Thank you for reply.
Réponses (1)
darova
le 14 Jan 2020
You should create a system of equations. You need 4 points and 4 equations
syms x0 y0 z0 r0
eq1 = (x0-x(1))^2 + (y0-y(1))^2 + (z0-z(1))^2 == r0^2;
% ...
5 commentaires
Anezka Koterova
le 16 Jan 2020
darova
le 16 Jan 2020
What about fit function? Maybe you should take half of data

Anezka Koterova
le 16 Jan 2020
darova
le 16 Jan 2020
Something like that
ix = z < mean(z); % take a half
x1 = x(ix);
y1 = y(ix);
z1 = z(ix);
F = @(a,b,c,r,x,y) sqrt( r.^2 - (x-a).^2 - (y-b).^2 ) + c;
f = fit([x1 y1],z1,F);
Anezka Koterova
le 18 Jan 2020
Cette question est clôturée.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!