haskell(14)

本博客所有内容是原创,未经书面许可,严禁任何形式的转载。

http://blog.csdn.net/u010255642


2)应用

A.求3元素元组的第一、第二、第三个值
myfirst ::(a,b,c)->a

myfst (a,_,_)->a

mycnt (_,b,_)->b

mylst (_,_,c)->c

B、 求2维和3维空间的欧氏距离

2维的欧氏距离公式是:


3维的欧氏距离公式是:

 

函数定义如下:

euclidean_distance2 ::Floating a=>(a,a)->(a,a)->a
euclidean_distance2 (x1,y1) (x2,y2)= sqrt ((x1-y1)^2+(x2-y2)^2)
euclidean_distance3 ::Floating a=>(a,a,a)->(a,a,a)->a
euclidean_distance3 (x1,y1,z1) (x2,y2,z2)= sqrt ((x1-y1)^2+(x2-y2)^2+(z2-z2)^2)


我们加载一下这几个函数的程序,运行一下

Prelude> :r

[1 of 1] Compiling Main             ( H:\my_docs\mytest.hs, interpreted )

Ok, modules loaded: Main.

*Main> euclidean_distance3 (12.1,33,22.1) (33.2,11.5,11)

30.128060010561583

*Main> euclidean_distance2 (12.1,33) (33.2,11.5)

30.128060010561583

*Main> myfst (12,33,88)

12

*Main> mycnt (12,33,88)

33

*Main> mylst (12,33,88)

88

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值