单射和满射的定义和例子 常见的单射满射函数有哪些

老涛酱_4087

老涛酱_4087

2026-03-20

1030人浏览

原创

单射要求不同输入对应不同输出,满射要求陪域中每个元素都有原像;双射兼具二者,是可逆函数的充要条件。例如f(x)=2x+1是ℝ上的双射,|x|是满射但非单射,sin x在ℝ上既非单射也非满射。

单射和满射的定义和例子 常见的单射满射函数有哪些

如果您在学习离散数学或抽象代数时遇到“单射”与“满射”的概念混淆,通常是因为二者均描述函数在输入与输出之间映射的结构性质,但侧重点截然不同。以下是厘清定义与识别典型实例的步骤:

一、单射的定义与典型例子

单射强调“输入不重合则输出必不重合”,即函数不会将两个不同自变量映射到同一个因变量上。其形式化定义为:设函数 f: A → B,若对任意 a₁, a₂ ∈ A,当 a₁ ≠ a₂ 时总有 f(a₁) ≠ f(a₂),则称 f 是单射。

1、函数 f: ℝ → ℝ,定义为 f(x) = 2x + 1 是单射,因为若 2x₁ + 1 = 2x₂ + 1,则必有 x₁ = x₂。

2、函数 g: ℕ → ℕ,定义为 g(n) = n² 是单射,因为对任意不同自然数 m ≠ n,有 m² ≠ n²。

3、函数 h: ℤ → ℕ ∪ {0},定义为 h(z) = |z| 不是单射,因为 h(1) = h(−1) = 1,违反单射条件。

二、满射的定义与典型例子

满射关注的是“陪域中无遗漏”,即函数的值域必须完全覆盖整个目标集合 B。形式化定义为:设函数 f: A → B,若对任意 b ∈ B,都存在至少一个 a ∈ A,使得 f(a) = b,则称 f 是满射。

1、函数 f: ℝ → ℝ,定义为 f(x) = 2x + 1 是满射,因为对任意实数 y,取 x = (y − 1)/2 ∈ ℝ,就有 f(x) = y。

2、函数 g: ℕ → {0, 2, 4, 6, …}(非负偶数集),定义为 g(n) = 2n 是满射,因为每个非负偶数 e 都可写成 e = 2n,其中 n = e/2 ∈ ℕ。

3、函数 k: ℝ → ℝ,定义为 k(x) = x² 不是满射,因为 −1 ∈ ℝ 但不存在实数 x 满足 x² = −1。

三、既是单射又是满射的函数(双射)

双射同时满足单射与满射,意味着定义域与陪域之间存在一一对应关系,是可逆函数存在的充要条件。

1、恒等函数 id: ℝ → ℝ,定义为 id(x) = x,显然对任意 x₁ ≠ x₂ 有 id(x₁) ≠ id(x₂),且对任意 y ∈ ℝ,取 x = y 即得 id(x) = y。

2、线性函数 f: ℝ → ℝ,f(x) = ax + b(其中 a ≠ 0),既是单射也是满射,因为斜率非零保证严格单调,且值域覆盖全体实数。

3、函数 φ: ℕ → E,其中 E = {0, 2, 4, 6, …},定义为 φ(n) = 2n,是 ℕ 到其真子集 E 的双射,这揭示了无穷集合与其真子集可等势的特性。

四、常见非单射或非满射的函数辨析

识别反例有助于巩固对定义边界的理解。这些函数在初学阶段极易误判,需特别注意定义域与陪域的指定。

1、函数 ψ: ℤ → ℕ ∪ {0},ψ(z) = |z| 是满射但非单射,因每个非负整数 z′ 都有 z = z′ 或 z = −z′ 满足 |z| = z′,但 1 和 −1 映射至同一值。

2、函数 θ: ℕ → ℕ,θ(n) = ⌊n/2⌋(向下取整)既非单射也非满射,因为 θ(0) = θ(1) = 0,且 1 不在值域中(不存在 n 使 ⌊n/2⌋ = 1?错:n=2,3 均得1;但 2 不在值域?验证:⌊n/2⌋ = 2 当且仅当 n ∈ {4,5},故 2 在值域;真正缺失的是——实际上该函数是满射;需修正:更稳妥反例为 θ(n) = n²,定义域 ℕ,陪域 ℕ,此时 2,3,5 等非平方数不在值域中,故非满射;又因 n ≠ m ⇒ n² ≠ m² 成立,故是单射)。

3、函数 μ: ℝ → ℝ,μ(x) = sin x 既非单射(sin 0 = sin π = 0)也非满射(若陪域为 ℝ,则值域仅为 [−1, 1] ⊂ ℝ);但若将陪域限定为 [−1, 1],则变为满射,仍非单射。

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
Buffalo框架数据库开发全教程
Buffalo框架数据库开发全教程

本专题围绕Buffalo框架数据库开发,讲解database.yml多环境配置、soda与fizz迁移生成回滚、模型结构体标签、增删改查与条件查询、一对多与多对多关联、数据校验、回调钩子、事务处理及原生SQL执行能力。

2026.09.23

60

15

Buffalo框架路由与请求处理实操指南
Buffalo框架路由与请求处理实操指南

本专题讲解Buffalo框架路由与请求处理机制,涵盖路由注册与分组、资源路由、Handler编写规范、Context上下文方法、参数绑定、中间件编写挂载、Session与Cookie读写、Flash消息及错误页面定制方法。

2026.09.23

20

15

Buffalo框架零基础入门教程
Buffalo框架零基础入门教程

本专题整理Buffalo框架入门内容,涵盖Go环境准备、buffalo CLI安装、新项目生成、目录结构说明、dev热加载启动、数据库连接配置与常见报错排查,帮助新手按约定优于配置的思路跑通第一个Buffalo框架应用。

2026.09.23

20

15

Conan创建软件包配方指南
Conan创建软件包配方指南

本专题介绍通过conanfile.py创建软件包的方法,讲解包名、版本、依赖和构建设置等基础信息,以及source、build、package、package_info等常用方法的作用及编写思路。

2026.09.22

20

12

Conan二进制包配置指南
Conan二进制包配置指南

本专题介绍Conan根据操作系统、编译器、架构和构建类型生成二进制包的方法,讲解Profile、Settings、Options及Package ID的作用,帮助管理不同平台和编译环境下的包版本。

2026.09.22

20

13

Conan私有仓库搭建教程
Conan私有仓库搭建教程

本专题系统的讲解Conan私有仓库的搭建流程,涵盖仓库服务部署、存储目录配置、用户认证、权限划分和远程地址添加,并介绍内部C++依赖包的上传、下载及版本维护方法。

2026.09.22

20

19

loomy官网入口地址合集
loomy官网入口地址合集

本专题汇总了 Loomy 桌面 AI 助理的官方入口地址合集及使用指南。提供 macOS 与 Windows 客户端下载 。Loomy 是讯飞推出的桌面级 AI 工作搭子,支持文件整理、数据分析、网页操作及通过飞书/钉钉远程操控电脑,助你高效完成本地办公任务 。

2026.09.22

20

19

NumPy常见函数使用方法
NumPy常见函数使用方法

本专题整理 NumPy 常见函数使用方法相关教程,覆盖函数大全、参数用法、数组运算、统计聚合、排序处理、where 条件筛选、linspace 创建数列等常用场景,帮助读者快速掌握 NumPy 函数调用思路和实际数据处理技巧。

2026.09.22

40

21

NumPy性能优化版本更新与常见报错排查
NumPy性能优化版本更新与常见报错排查

本专题整理 NumPy 性能优化、版本更新与常见报错排查相关教程,覆盖向量化计算、广播性能、内存布局、NumPy 2.0 升级、版本兼容冲突、安装导入报错、dtype 溢出、矩阵运算异常和 broadcasting 报错修复,帮助读者系统掌握 NumPy 性能调优与问题定位方法。

2026.09.22

60

25

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.6万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.2万人学习