反距离权重

反距离权重

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)
posted @   Agiser0  阅读(63)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示