作业帮 > 数学 > 作业

用matlab中的solve解方程组,怎样保留其中一个符合条件的解

来源:学生作业帮 编辑:作业帮 分类:数学作业 时间:2024/05/02 19:16:11
用matlab中的solve解方程组,怎样保留其中一个符合条件的解
%例如:
f1 = (x - x1)/(a-x1) - (y-y1)/(b-y1);f2 = (x-x1)^2+(y-y1)^2 - r^2; %两个方程,其中a b r x1 y1都是已知量[x,y] = solve(f1,f2); %用solve解方程组x=double(sym(x));y=double(sym(y)); %将其变为数值解
%得出来x有两个值,y也有两个值,现要保留两个y值当中更大的,以及它所对应的x值,
为了方便阅读,更改如下:
%例如:f1 = (x - x1)/(a-x1) - (y-y1)/(b-y1);
f2 = (x-x1)^2+(y-y1)^2 - r^2; %两个方程,其中a b r x1 y1都是已知量
[x,y] = solve(f1,f2); %用solve解方程组
x=double(sym(x));y=double(sym(y)); %将其变为数值解%得出来x有两个值,y也有两个值,现要保留两个y值当中更大的,以及它所对应的x值,
比方说得到的x是 [ 1 2]
y是[ 3 1.3]
那么可以这样处理:
[y index] = max(y);
x = x(index);
这样就对了.其中的index获得较大的y值在y向量中的索引.