function fsolve_sandianzuobiaoxi()
format short
options = optimset('MaxFunEvals',300,'MaxIter',300)
x=fsolve(@myfun,[240;240;10],options) %调用函数
endfunction f=myfun(x)
syms x0 y0 z0
A=[119.806374;149.341095;4.584520];
B=[372.825714;343.291016;32.235802];
C=[148.859406;373.197510;20.230499];
O=[x0;y0;z0];
f1=(norm([A(1,1)-O(1,1);A(2,1)-O(2,1);A(3,1)-O(3,1)]))^2+(norm([C(1,1)-O(1,1);C(2,1)-O(2,1);C(3,1)-O(3,1)]))^2-(norm([A(1,1)-C(1,1);A(2,1)-C(2,1);A(3,1)-C(3,1)]))^2;%勾股定理,原点与其中两点构成直角三角形
f2=(norm([B(1,1)-O(1,1);B(2,1)-O(2,1);B(3,1)-O(3,1)]))^2+(norm([C(1,1)-O(1,1);C(2,1)-O(2,1);C(3,1)-O(3,1)]))^2-(norm([B(1,1)-C(1,1);B(2,1)-C(2,1);B(3,1)-C(3,1)]))^2;%勾股定理,原点与其中两点构成直角三角形
f3=norm([A(1,1)-O(1,1);A(2,1)-O(2,1);A(3,1)-O(3,1)])+norm([B(1,1)-O(1,1);B(2,1)-O(2,1);B(3,1)-O(3,1)])-norm([A(1,1)-B(1,1);A(2,1)-B(2,1);A(3,1)-B(3,1)]);%三点一线时,中间一点与两端点距离和等于两端点之间距离
f=[f1;f2;f3];
x0=
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!