matlab已知两点的坐标和第三点到两点的距离求第三点坐标怎么编程求解?

第一点(x1,y1),第二点(x2,y2),第三点到第一点的距离s1,第三点到第二点的距离s2,结果就生成在表后

已知两点的坐标和第三点到两点的距离求第三点坐标用matlab怎么求解?求解思路:
1、用xlsread函数,读入xls数据数据文件的数据,并赋值给A变量
2、利用平面解析几何的两点距离公式
s1=sqrt((x3-x1)^2+(y3-y1)^2)
s2=sqrt((x3-x2)^2+(y3-y2)^2)
3、用solve函数求解,x3,y3值
4、用xlswrite函数,将x3,y3值写入xls数据文件中

5、编程后运行结果

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-11-08
你这每组数据相当于就是两个圆之间的关系,两个圆相交就有两个x,y。相切就一个x,y,不想交就没有解
syms x1 y1 x2 y2 x y s1 s2;
eq1 = (x-x1)^2+(y-y1)^2-s1*s1;
eq2 = (x-x2)^2+(y-y2)^2-s2*s2;
sol = solve(eq1,eq2,x,y);
x=simplify(sol.x);
y=simplify(sol.y);

x1=0,y1=16.2361,s1=7.7;
x2=8,y2=0,s2=11.8;
x=eval(x)
y=eval(y)

%输出:
% x =
% -0.1456
% 6.1933
% y =
% 8.5375
% 11.6609
第3个回答  2019-11-08

clear;

clc;


%% 设置导入选项

opts = spreadsheetImportOptions("NumVariables", 2);


% 指定工作表和范围

opts.Sheet = "Sheet1";

opts.DataRange = "A2:B8";     % 选择取值范围


% 指定列名称和类型

opts.VariableNames = ["s1", "s2"];

opts.VariableTypes = ["double", "double"];


% 导入数据

tbl = readtable("C:\Users\pc\Desktop\data.xlsx", opts, "UseExcel", false);  %选择文件(数据)路径


%% 转换为输出类型

s1 = tbl.s1;

s2 = tbl.s2;


%% 清除临时变量

clear opts tbl

syms x1 x2 y1 y2;

X = [];

Y = [];


x1 = 0;

y1 = 16.2361;  %(x1,y1)不变


x2 = 8;

y2 = 0;    %(x2,y2)不变


[m,n] = size(s1);


for i = 1:m

    syms x y;

    sx = s1(i);

    sy = s2(i);

    [x,y] = vpasolve((x-x1)^2+(y-y1)^2-(sx)^2,(x-x2)^2+(y-y2)^2-(sy)^2);    %二元二次方程组

    X = [X;x(1)];

    X = [X;x(2)];


    Y = [Y;y(1)];

    Y = [Y;y(2)];

    % 检查求得的坐标是否符合

    S1 = (x(1)-x1)^2+(y(1)-y1)^2-(sx)^2

    T1 = (x(1)-x2)^2+(y(1)-y2)^2-(sy)^2

    if (S1 == 0.0 && T1 == 0.0)

        disp('i=')

        disp(i)     %i 表示Excel中第i个要求的点

        disp('次i对应点符合,(x,y)')    % 第i个点的坐标

        disp(x(1))

        disp(y(1))

    else

        disp('不符合')

    end

    S2 = (x(2)-x1)^2+(y(2)-y1)^2-(sx)^2

    T2 = (x(2)-x2)^2+(y(2)-y2)^2-(sy)^2

    if (S2 == 0.0 && T2 == 0.0)

        disp('i=')

        disp(i)

        disp('此i对应点符合,(x,y)')

        disp(x(2))

        disp(y(2))

    else

        disp('不符合')

    end

end

第4个回答  2019-11-08
这叫距离交会,简单的说,就是俩圆的交会,圆的圆心已知,半径知道,相交的点是那点坐标,用解吸几何计算
相似回答