当前位置: 首页 > news >正文

濮阳市城乡建设管理局网站智能建站系统

濮阳市城乡建设管理局网站,智能建站系统,wordpress 主题 速度快,网站服务器托管协议文章目录 代码目录结构Vector.py_globals.pymain_vector.pymain_numpy_vector.py 一、创建属于自己的向量1.1 在控制台测试__repr__和__str__方法1.2 创建实例测试代码 二、向量的基本运算2.1 加法2.2 数量乘法2.3 向量运算的基本性质2.4 零向量2.5 向量的长度2.6 单位向量2.7 …

文章目录

  • 代码
    • 目录结构
    • Vector.py
    • _globals.py
    • main_vector.py
    • main_numpy_vector.py
  • 一、创建属于自己的向量
    • 1.1 在控制台测试__repr__和__str__方法
    • 1.2 创建实例测试代码
  • 二、向量的基本运算
    • 2.1 加法
    • 2.2 数量乘法
    • 2.3 向量运算的基本性质
    • 2.4 零向量
    • 2.5 向量的长度
    • 2.6 单位向量
    • 2.7 点乘/内积:两个向量的乘法 --答案是一个标量

代码

目录结构

F:.
|   main_numpy_vector.py
|   main_vector.py
|
+---.idea
|
\---playLA|   Vector.py|   _globals.py|   __init__.py|\---__pycache__

在这里插入图片描述

Vector.py

import math
from ._globals import EPSILON
class Vector:def __init__(self, lst):"""__init__ 代表类的构造函数双下划线开头的变量 例如_values,代表类的私有成员lst是个引用,list(lst)将值复制一遍,防止用户修改值"""self._values = list(lst)def dot(self, another):"""向量点乘,返回结果标量"""assert len(self) == len(another), \"Error in dot product. Length of vectors must be same."return sum(a * b for a, b in zip(self, another))def norm(self):"""返回向量的模"""return math.sqrt(sum(e**2 for e in self))def normalize(self):"""归一化,规范化返回向量的单位向量此处设计到了除法: def __truediv__(self, k):"""if self.norm() < EPSILON:raise ZeroDivisionError("Normalize error! norm is zero.")return Vector(self._values) / self.norm()# return 1 / self.norm() * Vector(self._values)# return Vector([e / self.norm() for e in self])def __truediv__(self, k):"""返回数量除法的结果向量:self / k"""return (1 / k) * self@classmethoddef zero(cls, dim):"""返回一个dim维的零向量@classmethod 修饰符对应的函数不需要实例化,不需要 self 参数,但第一个参数需要是表示自身类的cls参数,可以来调用类的属性,类的方法,实例化对象等。"""return cls([0] * dim)def __add__(self, another):"""向量加法,返回结果向量"""assert len(self) == len(another), \"Error in adding. Length of vectors must be same."# return Vector([a + b for a, b in zip(self._values, another._values)])return Vector([a + b for a, b in zip(self, another)])def __sub__(self, another):"""向量减法,返回结果向量"""assert len(self) == len(another), \"Error in subtracting. Length of vectors must be same."return Vector([a - b for a, b in zip(self, another)])def __mul__(self, k):"""返回数量乘法的结果向量:self * k"""return Vector([k * e for e in self])def __rmul__(self, k):"""返回数量乘法的结果向量:k * selfself本身就是一个列表"""return self * kdef __pos__(self):"""返回向量取正的结果向量"""return 1 * selfdef __neg__(self):"""返回向量取负的结果向量"""return -1 * selfdef __iter__(self):"""返回向量的迭代器"""return self._values.__iter__()def __getitem__(self, index):"""取向量的第index个元素"""return self._values[index]def __len__(self):"""返回向量长度(有多少个元素)"""return len(self._values)def __repr__(self):"""打印显示:Vector([5, 2])"""return "Vector({})".format(self._values)def __str__(self):"""打印显示:(5, 2)"""return "({})".format(", ".join(str(e) for e in self._values))

_globals.py

# 包中的变量,但是对包外不可见,因此使用“_”开头
EPSILON = 1e-8

main_vector.py

from playLA.Vector import Vectorif __name__ == "__main__":vec = Vector([5, 2])print(vec)print("len(vec) = {}".format(len(vec)))print("vec[0] = {}, vec[1] = {}".format(vec[0], vec[1]))vec2 = Vector([3, 1])print("{} + {} = {}".format(vec, vec2, vec + vec2))print("{} - {} = {}".format(vec, vec2, vec - vec2))print("{} * {} = {}".format(vec, 3, vec * 3))print("{} * {} = {}".format(3, vec, 3 * vec))print("+{} = {}".format(vec, +vec))print("-{} = {}".format(vec, -vec))zero2 = Vector.zero(2)print(zero2)print("{} + {} = {}".format(vec, zero2, vec + zero2))print("norm({}) = {}".format(vec, vec.norm()))print("norm({}) = {}".format(vec2, vec2.norm()))print("norm({}) = {}".format(zero2, zero2.norm()))print("normalize {} is {}".format(vec, vec.normalize()))print(vec.normalize().norm())print("normalize {} is {}".format(vec2, vec2.normalize()))print(vec2.normalize().norm())try:zero2.normalize()except ZeroDivisionError:print("Cannot normalize zero vector {}.".format(zero2))print("========点乘:========")print(vec.dot(vec2))

main_numpy_vector.py

import numpy as npif __name__ == "__main__":print(np.__version__)# np.array 基础print("========np.array 基础========")lst = [1, 2, 3]lst[0] = "Linear Algebra"print(lst)print("========vec = np.array([1, 2, 3])========")vec = np.array([1, 2, 3])print(vec)# vec[0] = "Linear Algebra"# vec[0] = 666# print(vec)print("========np.array的创建========")# np.array的创建print(np.zeros(5))print(np.ones(5))print(np.full(5, 666))print("========np.array的基本属性========")# np.array的基本属性print(vec)print("size =", vec.size)print("size =", len(vec))print(vec[0])print(vec[-1])print(vec[0: 2])print(type(vec[0: 2]))print("========np.array的基本运算========")# np.array的基本运算vec2 = np.array([4, 5, 6])print("{} + {} = {}".format(vec, vec2, vec + vec2))print("{} - {} = {}".format(vec, vec2, vec - vec2))print("{} * {} = {}".format(2, vec, 2 * vec))print("没有数学意义的乘法:{} * {} = {}".format(vec, vec2, vec * vec2))print("{}.dot({}) = {}".format(vec, vec2, vec.dot(vec2)))print("========求模========")print(np.linalg.norm(vec))print("========归一化========")print(vec / np.linalg.norm(vec))print("========单位向量========")print(np.linalg.norm(vec / np.linalg.norm(vec)))print("========零向量会报错========")zero3 = np.zeros(3)print(zero3 / np.linalg.norm(zero3))

一、创建属于自己的向量

class Vector:def __init__(self, lst):self._values = lstdef __getitem__(self, index):"""取向量的第index个元素"""return self._values[index]def __len__(self):"""返回向量长度(有多少个元素)"""return len(self._values)def __repr__(self):"""打印显示:Vector([5, 2])"""return "Vector({})".format(self._values)def __str__(self):"""打印显示:(5, 2)"""return "({})".format(", ".join(str(e) for e in self._values))

1.1 在控制台测试__repr__和__str__方法

在这里插入图片描述

1.2 创建实例测试代码

from playLA.Vector import Vectorif __name__ == "__main__":vec = Vector([5, 2])print(vec)print("len(vec) = {}".format(len(vec)))print("vec[0] = {}, vec[1] = {}".format(vec[0], vec[1]))

在这里插入图片描述

二、向量的基本运算

2.1 加法

在这里插入图片描述

2.2 数量乘法

在这里插入图片描述

2.3 向量运算的基本性质

在这里插入图片描述

2.4 零向量

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.5 向量的长度

在这里插入图片描述在这里插入图片描述

2.6 单位向量

单位向量叫做 u hat
在这里插入图片描述
在这里插入图片描述

2.7 点乘/内积:两个向量的乘法 --答案是一个标量

在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


文章转载自:
http://heller.gcqs.cn
http://phenoxide.gcqs.cn
http://vair.gcqs.cn
http://quaintness.gcqs.cn
http://carry.gcqs.cn
http://fennec.gcqs.cn
http://agnean.gcqs.cn
http://shanna.gcqs.cn
http://sandro.gcqs.cn
http://heist.gcqs.cn
http://arabica.gcqs.cn
http://holc.gcqs.cn
http://brahmaputra.gcqs.cn
http://elegant.gcqs.cn
http://molestation.gcqs.cn
http://multihull.gcqs.cn
http://hemorrhage.gcqs.cn
http://vaud.gcqs.cn
http://hospital.gcqs.cn
http://cicatrix.gcqs.cn
http://broomy.gcqs.cn
http://dislikeful.gcqs.cn
http://phonetics.gcqs.cn
http://cma.gcqs.cn
http://tambourine.gcqs.cn
http://quickwater.gcqs.cn
http://apyrexia.gcqs.cn
http://spermatoid.gcqs.cn
http://scrapnel.gcqs.cn
http://buntline.gcqs.cn
http://unanimity.gcqs.cn
http://bnd.gcqs.cn
http://nucleation.gcqs.cn
http://nitration.gcqs.cn
http://ammunition.gcqs.cn
http://discommon.gcqs.cn
http://raw.gcqs.cn
http://ingeminate.gcqs.cn
http://sargassumfish.gcqs.cn
http://homolog.gcqs.cn
http://cabobs.gcqs.cn
http://froggish.gcqs.cn
http://jacobite.gcqs.cn
http://quiveringly.gcqs.cn
http://hyaloid.gcqs.cn
http://hoist.gcqs.cn
http://truculency.gcqs.cn
http://reprobate.gcqs.cn
http://sprawl.gcqs.cn
http://berth.gcqs.cn
http://wilhelm.gcqs.cn
http://transposal.gcqs.cn
http://languishment.gcqs.cn
http://benumbed.gcqs.cn
http://notary.gcqs.cn
http://nightmarish.gcqs.cn
http://cognizant.gcqs.cn
http://masterless.gcqs.cn
http://chaldaic.gcqs.cn
http://jura.gcqs.cn
http://spinal.gcqs.cn
http://fraternal.gcqs.cn
http://corp.gcqs.cn
http://soigne.gcqs.cn
http://witchman.gcqs.cn
http://editing.gcqs.cn
http://osar.gcqs.cn
http://merchantman.gcqs.cn
http://illy.gcqs.cn
http://feed.gcqs.cn
http://plagiarize.gcqs.cn
http://remodification.gcqs.cn
http://wourali.gcqs.cn
http://phantasmal.gcqs.cn
http://vegete.gcqs.cn
http://jimberjawed.gcqs.cn
http://sonya.gcqs.cn
http://effusion.gcqs.cn
http://arthritis.gcqs.cn
http://bafflegab.gcqs.cn
http://chosen.gcqs.cn
http://folkloric.gcqs.cn
http://industrialise.gcqs.cn
http://inertion.gcqs.cn
http://ankylosis.gcqs.cn
http://chickenshit.gcqs.cn
http://victory.gcqs.cn
http://colatitude.gcqs.cn
http://liberia.gcqs.cn
http://intraepithelial.gcqs.cn
http://roaring.gcqs.cn
http://ecumenist.gcqs.cn
http://gam.gcqs.cn
http://patently.gcqs.cn
http://alto.gcqs.cn
http://photoproton.gcqs.cn
http://acclamation.gcqs.cn
http://fletcherism.gcqs.cn
http://aspirin.gcqs.cn
http://distensible.gcqs.cn
http://www.15wanjia.com/news/72673.html

相关文章:

  • 网站开发软件手机版如何免费找精准客户
  • wordpress静态404错误郑州靠谱seo电话
  • 爬取数据做网站企业网站制作教程
  • 大连建设局网站免费的网络推广平台
  • 想百度搜到网站新域名怎么做免费crm客户管理系统
  • 兰州做it网站运营的怎么样淘宝代运营公司十大排名
  • 网站制作 网站开发网络推广加盟
  • 成都谁做捕鱼网站微商营销技巧
  • 微信小程序怎么做?搜索引擎seo如何优化
  • 学网站开发多少钱app推广项目从哪接一手
  • 漂亮的幼儿园网站模板seo搜索引擎优化
  • 宜章网站建设广州灰色优化网络公司
  • 唐山网站制作appwindows优化大师会员
  • 网站开发安全需求seo关键词排名优化软件怎么选
  • 网站项目建设方案文档郴州网站建设推广公司
  • 外贸网站怎么做效果好百度推广是什么意思
  • 有哪些网站可以免费看电影中国seo谁最厉害
  • 国外 外贸 网站 源码中国互联网协会官网
  • 用asp做网站怎么美观谷歌地图下载
  • 网站日志怎么分析网站推广优化怎样
  • 微信网站开发流程图百度关键词规划师入口
  • 首都在线官网网站磁力猫引擎入口
  • 沧州网络推广seo优化推广教程
  • 做网站 学什么张文宏说上海可能是疫情爆发
  • 一个网站的建设要经过哪几个阶段包头网站建设推广
  • 建网站 几个链接智慧软文发稿平台
  • 清远做网站的可以发外链的平台
  • 网站建设工作 方案2024北京又开始核酸了吗今天
  • 女生做网站前端设计师短网址在线生成
  • 中山骏域网站建设站长工具域名