Info
此问题已关闭。 请重新打开它进行编辑或回答。
Solving system of eqution using vectors
1 次查看(过去 30 天)
显示 更早的评论
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.
0 个评论
回答(1 个)
darova
2020-1-14
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 个评论
darova
2020-1-16
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);
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!