指定范围Vpasolve两个未知数

2视图(30天)
约翰
约翰 2021年9月17日
评论道: 威廉•罗斯 2021年9月24日
y2 = 18.3956
z2 = 11.0572
y3 = 13.3972
z3 = 20.8909
我希望找到圆的中心的坐标通过(y2, z2)和(y3, z3)。
圆的中心的坐标(y, z)应该范围内12.5和17.5。
有无穷多的中心坐标范围内完成了边界条件。所有的中心躺在同一行。
我的数据点都应该躺在循环。我将会排除各界有分和提取最大半径的圆。
理想情况下,我将得到一个离散的列表可能从vpasolve中心采样。从这个列表我可以提取感兴趣的大圈,躺在我的数据点。
我的尝试:
信谊y z
解决= vpasolve ((y2-y) ^ 2 + (z2-z) ^ 2 = = (y3-y) ^ 2 + (z3-z) ^ 2, [y z], [12.5, 17.5:12.5, 17.5])
然而,这给了我无解的范围内。
任何帮助都是赞赏!

接受的答案

威廉•罗斯
威廉•罗斯 2021年9月17日
@John ,我会使用简单的几何形状。
你说“圆的中心的坐标(y, z)应该范围内12.5和17.5。”I assume that you mean
12.5 < = x < = 17.5、12.5 < = y < = 17.5。
问题:
给点P2 = (y2, z2)和P3 = (x3, z3)。找到最大的圆通过P2和P3,其中心是在矩形角落P0 = (y0, z0)和P1 = (z1)日元,y0 < y₁和z0 < z1的地方。
答:
圆的中心躺在P2的垂直平分线,P3。最大的圆将是垂直平分线的交点有界的边缘地区之一。垂直平分线的交点有界的边缘地区(0,1,或者2点。识别交集点,如果任何。最远的交点中点的P2, P3是最大半径的圆的中心。
垂直平分线:y-ymid = m (z-zmid) ymid = (y2 + y3) / 3, zmid = (z2 + z3) / 2, m = (z2-z3) / (y3-y2)。
有界区域的边缘:
优势1:y = y0, z0 z < < = = z1。
优势2:y = y₁, z0 z < < = = z1
优势3:y0 < = y < = y₁, z = z0
优势四:y0 < = y < = y₁, z = z1
检查边缘:
优势1:y0-ymid = m (zc1-zmid) = > zc1 = (y0-ymid) / m + zmid。如果z0 < = zc1 < = z1,然后C1 = (y0, zc1)是一个可行的答案,所以保存它。
优势2:y1-ymid = m (zc2-zmid) = > zc2 = (y1-ymid) / m + zmid。如果z0 < = zc2 < = z1,然后C2 = (y0, zc2)是一个可行的答案,所以保存它。
优势3:yc3-ymid = m (z0-zmid) = > yc3 = m (z0-zmid) + ymid。如果y0 < = yc3 < = y₁,然后C3 = (yc3 z0)是一个可行的答案,所以保存它。
优势四:yc4-ymid = m (z1-zmid) = > yc4 = m (z1-zmid) + ymid。如果y0 < = yc4 < = y₁,然后C4 = (yc4 z1)是一个可行的答案,所以保存它。
如果有1可行的答案,这就是答案。
如果有两个可行的答案,答案是一个远离Pmid = (ymid zmid)。
2的评论

登录置评。

更多的答案(0)

类别

找到更多的在和迭代解算器输出显示帮助中心文件交换

标签

s manbetx 845


释放

R2021a

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!

翻译的