WV.13-枚举-平面点

问题及代码:
/*  
*Copyright (c)2014,烟台大学计算机与控制工程学院  
*All rights reserved.  
*文件名称:xy.cpp  
*作    者:单昕昕  
*完成日期:2015年1月18日  
*版 本 号:v1.0  
*  
*问题描述:按指定的方式,输出一个平面点。
*程序输入:无。 
*程序输出:按指定的方式输出点。 
*/
#include <iostream>
#include <Cmath>
using namespace std;

enum SymmetricStyle {axisx,axisy,point};//分别表示按x轴, y轴, 原点对称
struct Point
{
	double x;  // 横坐标
	double y;  // 纵坐标
};
double distance1(Point p1, Point p2);   // 两点之间的距离
double distance0(Point p1);
Point symmetricAxis(Point p,SymmetricStyle style);   //返回对称点

int main( )
{
	Point p1={1,5},p2={4,1},p;
	cout<<"两点的距离为:"<<distance1(p1,p2)<<endl;
	cout<<"p1到原点的距离为:"<<distance0(p1)<<endl;
	p=symmetricAxis(p1,axisx);
	cout<<"p1关于x轴的对称点为:"<<"("<<p.x<<", "<<p.y<<")"<<endl;
	p=symmetricAxis(p1,axisy);
	cout<<"p1关于y轴的对称点为:"<<"("<<p.x<<", "<<p.y<<")"<<endl;
	p=symmetricAxis(p1,point);
	cout<<"p1关于原点的对称点为:"<<"("<<p.x<<", "<<p.y<<")"<<endl;
	return 0;
}

// 求两点之间的距离
double distance1(Point p1,Point p2)
{
	double d;
	d=sqrt((p1.x-p2.x)*(p1.x-p2.x)+(p1.y-p2.y)*(p1.y-p2.y));
	return d;
}

// 求点到原点的距离
double distance0(Point p)
{
	double d;
	d=sqrt(p.x*p.x+p.y*p.y);
	return d;
}

// 求对称点
Point symmetricAxis(Point p1,SymmetricStyle style)
{
	Point p;
	p.x=p1.x;
	p.y=p1.y;
	switch(style)
	{
	case axisx:
		p.y=-p1.y; break;
	case axisy:
		p.x=-p1.x; break;
	case point:
		p.x=-p1.x;p.y=-p1.y;
	}
	return p;
}



运行结果:


知识点总结:
枚举-平面点。

学习心得:

这个程序run出来真心不容易。

感谢学姐,感谢贺老,感谢ZYJ。!!!

问题在于,

 把distance改成distance1就行了。在命名空间std中,也有一个distance函数,所以重名了。

你提供的这段输出是一个长度为 **100** 的浮点数数组,它看起来像是一个 **词向量(word embedding)** 或 **句子向量(sentence embedding)** 的表示。 这类向量通常由以下几种模型生成: - **Word2Vec** - **FastText** - **Doc2Vec** - **BERT / Sentence-BERT** - **Gensim** 中的模型 - 或你自己训练/加载的模型生成的向量 --- ## 🧠 一、这段向量的含义 这段输出表示一个 **100 维的向量**,每个值代表该维度上的权重或激活值。例如: ```python [-0.0052772, -0.00601762, ..., 0.00234289] ``` ### 它可以代表什么? | 场景 | 含义 | |------|------| | Word2Vec | 一个词的向量表示,如 "人工智能" | | FastText | 一个词的向量,支持未登录词(OOV) | | Doc2Vec | 一个句子、段落的向量表示 | | Sentence-BERT | 一个句子的语义向量,用于相似度计算 | --- ## 🧪 二、如何使用这个向量 ### 1. 获取相似词或句子(以 Gensim 模型为例) 如果你是从 Gensim 模型中获取的向量,可以使用如下方式查找相似词或句子: ```python from gensim.models import Word2Vec # 加载模型 model = Word2Vec.load("word2vec.model") # 获取某个词的向量 vector = model.wv["人工智能"] # 查找最相似的词 similar_words = model.wv.most_similar("人工智能") print(similar_words) ``` ### 2. 向量相似度计算(cosine similarity) ```python import numpy as np from sklearn.metrics.pairwise import cosine_similarity vec1 = np.array([-0.0052772, ..., 0.00234289]) # 第一个向量 vec2 = np.array([0.00312068, ..., -0.00486073]) # 第二个向量 # reshape 为二维数组 vec1 = vec1.reshape(1, -1) vec2 = vec2.reshape(1, -1) similarity = cosine_similarity(vec1, vec2) print("Cosine Similarity:", similarity[0][0]) ``` --- ## 💾 三、如何保存和加载向量 ### 1. 保存为文件(如 numpy 文件) ```python import numpy as np vector = np.array([-0.0052772, ..., 0.00234289]) # 你的向量 np.save("vector.npy", vector) ``` ### 2. 加载向量 ```python vector = np.load("vector.npy") print(vector) ``` --- ## 🧰 四、常见用途 | 用途 | 说明 | |------|------| | 文本相似度 | 使用 cosine similarity 比较两个句子/词的语义相似性 | | 聚类 | 将多个向量进行聚类分析,如 KMeans | | 分类 | 作为特征输入到分类模型中(如 SVM、MLP) | | 可视化 | 使用 t-SNE 或 PCA 降维后可视化向量空间 | --- ## ✅ 五、总结 你看到的这段向量是一个 **100 维的嵌入向量**,可能是: - 某个词的向量(Word2Vec/FastText) - 某个句子的向量(Doc2Vec) - 某个模型输出的语义向量(如 BERT) 你可以: - 用它做相似度计算 - 用它做聚类或分类 - 用它做可视化分析 --- ##
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值