反距离权重
1.反距离权重
反距离权重
import math
import pdb
knPoint = map(float,raw_input("请输入未知属性点的坐标").split(','))
#print(knPoint)
pdb.set_trace()
Points = []
while (1):
point = raw_input("输入已知坐标点坐标和属性值,并用英文逗号间隔:").split(',')
#退出循环
if (point == ['']):break
exPoint = map(float, point)
Points.append(exPoint)
#print(Points)
pdb.set_trace()
def length(x1, y1, x2, y2):
return math.sqrt((x2-x1)**2 + (y2-y1)**2)
#求反距离累加和
y = 0
for i in range(len(Points)):
num = 1 / length(knPoint[0],knPoint[1],Points[i][0],Points[i][1])
y += num
pdb.set_trace()
Z = 0
for i in range(len(Points)):
num = 1 / length(knPoint[0],knPoint[1],Points[i][0],Points[i][1])
#计算权重
W = num / y
z = W * Points[i][2]
Z += z
print(Z)
一、Python 代码实现断点
3.7之前版本:
import pdb
pdb.set_trace() #insert breakpoint
输出:
(Pdb)
#查看变量 a 的值
(Pdb)p a # p 后面加什么变量名,就可以看到什么变量的值
(Pdb)c #进入下一个断点
3.7以上版本:
#无须导入库
breakpoint() #insert breakpoint
二、Python计算平方和
(数字 * 数字)
(数字**2)
math.pow(number,2)
三、Python开根号
math.sqrt(数字)
pow(数字,次方)
cmath.sqrt(数字) 该方法多用于 复数、负数 的开方
四、map()函数
返回数组
五、split()函数
返回数组
六、实现点坐标的输入
Points = []
while(1):
point = input("输入点坐标和属性值,用英文逗号隔开").split(',')
if (point = ['']):break
Point = map(float,point)
Points.append(Point)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理