数学软件在高等代数中的应用研究
高等代数解题方法与技巧

高等代数解题方法与技巧
高等代数是数学中的一个重要分支,它涉及到许多抽象的概念和复杂的运算方法。
对于初学者来说,学习高等代数可能会遇到一些困难,特别是在解题方面。
为了帮助大家更好地掌握高等代数的解题方法和技巧,本文章将介绍以下内容:
1.理解代数结构
高等代数涉及到很多代数结构,如群、环、域等。
理解这些结构的性质和运算规则是解题的基础。
在学习代数结构时,要重视定义和定理的理解和记忆,逐步掌握其特点和性质。
2.掌握矩阵的基本操作
矩阵是高等代数中重要的工具,应该熟练掌握矩阵的基本运算,如加、减、乘、转置等。
同时,还需要掌握矩阵的特殊类型,如对称矩阵、正交矩阵、特征值等。
3.应用线性代数解决问题
线性代数是高等代数中的一个重要分支,涉及到向量空间、线性变换等概念。
在解题时,可以运用线性代数的知识,将问题转化为线性方程组的形式,再通过矩阵运算求解。
4.掌握代数方程的求解方法
代数方程是高等代数中一个重要的概念,其求解方法涉及到因式分解、配方法、求根公式等。
在解题时,应该根据具体情况选择合适的求解方法。
5.运用数学软件辅助解题
随着科技的进步,现在有许多数学软件可以辅助高等代数的学习和解题。
例如MATLAB、Maple等,这些软件可以帮助我们快速解决复杂的高等代数问题。
总之,高等代数是数学中的一个重要分支,它涉及到许多复杂的概念和运算方法。
通过理解代数结构、掌握矩阵操作、应用线性代数、掌握代数方程求解方法,并运用数学软件辅助解题,我们可以更好地掌握高等代数的知识和技巧,提高解题能力。
MATLAB在高等代数教学中的应用

~『 2 1_ I ]
:
0. 7 6 18
-0. 983 6
0. 7 02 0
2 / l I 3
采 用MATLAB求 解 , 只需 在M ATL AB 软件 中的 命令 窗 口使用 [ D = i ( 命 令 V, J eg A)
> 【 , = uA) > L UI l ( L =L ( u分解)
一
f l I 1 】 f 一 / 3
调 用[ DJ c f r f D 函数 , 函数 V, d 2 d ( = V, ) 该 的功 能 是 把 复 数 对 角 矩 阵 转 化 为实 数 块 对 角矩 阵 , 如果 特 征方 程I D = i( 有成 对 V, legX) 的复 特 征 值 , d 2 d 把矩 阵 转 化 为 实对 角 cfcI 形 式 , 角线 上 2 2 对 ・ 实块 将 取 代 原有 的复 数
对 。 1
效 果
—
0. 00 5 0
1. 0 5 00
一O. 0 5 00
> A= 3 l 1 3 l ; D = i( } > 卜 , ;/ , 】f 】 e A) V, g 【 VR, DR] c fr fV, = d 2 d ( D)
V R :
一
1教学实例
> rn ( > a k A1 a S = 求 出秩) I l ' (
【】梁 涛 . 出数 学 计 算 中 的 结 果 ——论 高 1 找 等 数学 与线 性 代数 的MAT AB L 实现 . 成 都教 育学 院学 报 ,0 31 ) 2 0 ( 1. f】邓 微 . A A 2 M TL B函数 速 查手 册 ( 修订 版 ) 【 . 民邮 电 出版社 , 0 o 5 . M】人 2 1()
在高等代数习题课教学中培养学生能力的探讨

课教 学中 , 教师应对主要 内容进行凝结、提炼 , 出高等代 突 数 的理 论应 用特 色 , 将抽象的理 论与生产、生活中的实 际问 题 结合 起来 , 又通过对实际问题的处理和相 关理论 的寻求处 理的方法 ,培养 学生应用理论分析 、解决 具体 问题 的能力. 因此 , 习题课教 学中,适 当引入数学实验思想 , 以提高 在 可 学生分析问题和解决 问题 的能力 。“ 由于数学 与其它学科之
为标准 正交基 时,这 个方法 学生往 往不能很好 地接受和理
解 , 能死 记公 式,如果教学 中引入数学实验的思想 , 同 只 让
学们熟悉数学软件 Maa, tb 并编写解 决上面这个 问题 的相应 l Maa 程序 ,利 用程序 来实验将 欧氏空间中一般基变成标 tb l
准正交基 的方法 ,再把这个过程放 到几何欧 氏空 间 中去 演示 , 这样让 学生融入一个有数又有形、有领悟又有创造的
念 有了一个更深层次的认 识 , 可以使学生对数 学知识形成一 个整体 性认识。 2适 当引入数 学实验 思想,提 高学生分析 问题 和解 决问
题 的 能 力
1 适时 系统整理知识体 系,提 高学生对数 学知识 的整体
性认识 能力
数学教 育家波利亚指出 : 数学教 师的首要 责任 是尽其一
间相互 交叉 , 相互渗透 , 大量新 兴的数学方法在科 学研究和
助于帮 助学 生理 解线性 空间 的同构和欧 氏空间 的同构 这两 个概念 . 只要将二者 进行 比较 ,学生就不难 明白教 材在定义
生产管理各 领域中被成功应用 , 而传统的数学教学 , 重视数
学公式的推导和数学理论的证 明 , 但是却严重地和数学应用
浅谈高等院校的高等代数教学

浅谈高等院校的高等代数教学【摘要】高等代数作为高等院校中重要的数学学科,其教学对学生的数学建设和发展起着重要作用。
本文首先介绍了高等代数教学的重要性,以及在高等院校中的地位。
然后从高等代数教学内容、教学方法、教学案例等方面进行了分析和探讨。
也探讨了高等代数教学中存在的挑战,并展望了其未来的发展趋势。
总结了高等代数教学的意义,提出了加强高等代数教学的建议,并展望了高等代数教学的未来。
通过本文的研究,可以更好地认识和理解高等代数教学,为促进高等院校数学教育的发展提供参考和借鉴。
【关键词】高等院校、高等代数教学、重要性、地位、内容分析、教学方法、案例分析、挑战、发展趋势、意义、建议、未来展望。
1. 引言1.1 介绍高等代数教学的重要性高等代数作为数学的重要分支,是高等院校数学系必修课程之一。
其教学内容涵盖了代数结构、线性代数、群论、环论、域论等基本概念和理论。
高等代数教学的重要性主要体现在以下几个方面:高等代数是数学学科的基础。
它是其他数学专业课程的理论基础,为学生打下坚实的数学基础。
通过学习高等代数,学生可以培养逻辑思维能力、抽象思维能力和分析解决问题的能力。
高等代数对于学科发展和社会进步具有重要意义。
在现代数学科学研究中,高等代数是数学研究的重要基础,为其他学科的发展提供了理论支持。
高等代数教学在高等院校中具有不可替代的重要性。
它对于学生的数学素养、逻辑思维能力和创新能力的培养具有重要作用,同时也为学科发展和社会进步提供了坚实的理论基础。
高等代数教学的重要性不言而喻,应当受到足够的重视和关注。
1.2 概述高等代数在高等院校中的地位高等代数课程的地位体现在多个方面。
高等代数是其他数学分支的基础,例如线性代数、微积分等课程都建立在高等代数的基础之上。
高等代数是培养学生数学思维和逻辑推理能力的重要途径,对培养学生的抽象思维和解决问题的能力起着至关重要的作用。
高等代数还在一定程度上影响着学生对数学的兴趣和态度,对学生未来的学习和职业发展也具有重要的影响。
多媒体在高等代数教学中的应用

第 3 期 5
S IN E&T C N L G N O MA I N CE C E H O O YIF R T O
0本刊重稿。
科技信J _ L
多媒体在高等代数教学中的应用
金天坤 贾连广 ( 大庆 师范 学院 黑龙江 大庆
13 1 ) 6 7 2
【 摘 要】 当前 , 体 课 件在 教 学 中得 到 越 来越 广泛 的 应 用 。用 多媒 体 组 合 软件 制作 的 高校 数 学 专 业 高等 代 数 课 件有 良好 的 演 示 效果 . 多媒 增 加 了单 位 时 间 内对 学生 传 递 的信 息 量 。但 多媒 体 不具 有 对 高等 代 数 问题 的计 算 功 能 而 数 学 系统 有 强 大 的计 算功 能, 一 定程 度 上 弥补 了高 等 在
代 数 多媒 体 课件 的 不足 之 处 。
【 键 词 】 算机 辅 助 教 学 ; 特 点
高 等 代 数 是 高校 数 学 专 业 的 三 门重 要 基 础 课 程之 一 。 过 该 课 程 通 算 机 出现 后 , 速进 人 教 育 领 域 。 它具 有 能 够 综 合处 理 文 字 、 像 、 迅 图 声 的学 习, 学 生 系 统 地 掌 握 基 本 的 代 数 知识 和方 法 , 养 良好 的抽 象 使 培 音、 图形 的能 力 。多 媒体 技 术 在 教 学 中 应 用, 破 了 传统 的教 学 模 式 。 打 逻辑思维能力、 严密 的教 学 表 答 能力 和解 决 问题 能 力 。高 等 代 课 程 的 通 过 视 频 图 象 声 音 等 表现 手 段 , 学 生 更 易 于 理 解 所 学 的 内容 , 且 使 并 众 多特 点 , 面两 个 是 较 为 突 出 的研 究 对 象 广 泛 。 中学 的 代 数 问 题 是 下 大 大增 加 了单 位 时 间 内 对学 生 传 递 的 信 息量 。 目前 , 们 代 数 教 研 室 我 在 复 数 域 、 数 域 、 理 数 域 上 进 行 讨论 。所 研 究 的对 象 比较 具 体 、 实 有 直 正 在 开 发 的高 等 代 数 多 媒体 课 件 有 下 列 功 能 : 观。 高等 代 数 在 一 般 的 数域 上 讨 论 更 为 广泛 代 数 问 题 。 如,中学 的 代 例 ( ) 出知 识 要 点 ; 1列 数 研 究 的是 有 理 数 域上 次 数 较 低 的 一元 多 项 式 , 用 一 条 曲线 表 示 出 可 ( ) 速 显 示 形 式 较 复 杂 的表 达 式 ; 2快 它 的直 观 的几 何 特 征 。 而在 高 等 代 数 中 除 了研 究 复 数 域上 的任 意 次 多 ( )重 要 的性 质 和 定理 给 出证 明 , 合 教 师 讲课 逐 步演 示 推 证 过 3 配 项 式 外, 讨 论 了 一 般 数 域 上 的 多 元 多 项 式 , 时无 法用 图 形来 观 察 还 这 程 , 可 能 达 到 教 师手 写 出推 理 证 明 的效 果 : 尽 般 数 域 上 的 多 元 多项 式 的性 质 。 念 抽 象 。 于研 究 的 对 象 广 泛, 概 由 对 ( )在 界 面 左 右 两 边 列 出 了与 即 时显 示 的 知 识 相 关 的 概 念 和 结 4 于 一类 广 泛 的对 象 的共 同特 征 下 的 定 义, 者 建立 的概 念 具 有 高 度 的 或 论, 鼠标 点 击 想 查 阅 的概 念 和 结 论 , 即可 显 示 ; 抽 象性 。 如 向量 组 线 性无 关 的概 念 、 性空 间 的定 义 、 例 线 线性 变 换 的定 ( ) 习解 答 ; 5练 义、 双线 性 函数 的 概 念 等是 非 常 抽 象 的 。这 对 于 刚跨 进 大 学 校 门的 学 ( ) 放学 习指 导 录 音 。 6播 生 来 说, 什 么要 建 立 这 样 的 概念 数 学 家 如 何 建 立 这样 的概 念 这 样 的 为 这 套课 件 在 很 大 的 程 度 上减 少 了教 师 的 板 书 时 间 。从 而 。 师 有 教 概念在高等代数中 占有一个怎样的地位, 理解起来 是比较 困难 的。这 更 多 的时 间 阐 述 学 术 思 想 和 观 点 . 更 多 的 时 间与 学 生讨 论 , 大 了 有 加 要 求 教 师 在 教 授 高 等 代 数 的 过 程 中注 重 培 养 学 生 的 抽 象 思 维 能 力 和 每 堂 课 讲 授 的信 息 量 。 归 纳 推理 能 力 。 现 在所 见 到 的有 关 数 学 多媒 体 课 件 很 少 有计 算 功 能 , 不 用 说 能 更 在传 统 的授 课 过程 中。 师要 讲 解 高 等 代 数 的 重要 概 念 或 重 要 定 教 在 大 学 数 学专 业 中使 用 的 计算 功能 。 就 是 说 学 生无 法 在 课 堂 上用 多 那 理 时 , 般 用 一 些 典 型 例 子 来 阐 述 它 们 的 背 景 , 学 生 明 白和 理 解 为 媒 体 课 件 验 证教 师 所 讲 的 结 论 或例 子 。 然 在 教 学 中使 用 了多 媒体 课 一 使 虽 什 么 要 引 出某 个 概 念 或定 理及 其 重 要 性 。高等 代 数 7 ~一 许 多符 号 或 件, 在某 些 方 面 学 生仍 然处 于 被 动 接 受 的 地位 。是 美 国研 究 公 司 开发 表 达 式 的 形 式 比 较 复 杂,因此 对 书 写 质 量 有 较 高 的要 求 。例 如 , 证 要 的著 名 计 算 机 数学 系 统 。它 提 供 了 范 围 广泛 的数 学 计 算 功 能 。有美 国 明 一 个 与 n元 线 性 方 程组 有 十 多 万 科 学 家和 工 程 技 术 人 员经 常 使 用 该 软 件 。 在代 数 方 面 强 大 的
利用Matlab解决高等数学中的三维图形问题

安徽省宣城市广德县第三中学( 242200) 田学飞 ●
摘 要: 本文探讨利用 Matlab 来解决高等数学中的三维图形问题. Matlab 是一个功能强大的常用数学软件,它不但可以解决数
学中的数值计算问题,还可以方便地绘制各种函数图形. 并介绍了 Matlab 在此学科中图形方面的应用优势.
关键词: Matlab; 高等数学; 图形
中图分类号: G642
文献标识码: B
文章编号: 1008 - 0333( 2017) 06 - 0002 - 01
Matlab 具有简单、易学、界面友好和使用方便等特点, 只要大家有一定的数学知识并了解计算机的基本操作方 法,就能很等数学三维图形中的应用.
参考文献 [1]萧树铁. 数学实验[M]. 北京: 高等教育出版社,1999 [2]张志涌. MATLAB 教程[M]. 北京: 北京航空航天大学出 版社,2001
一、三维图形 1. 三维曲线 例 1 试绘制参数方程 x( t) = t3 e + sin3t,y( t) = t3 e + cos3t,z = t2 的三维曲线. 求解: 若想绘制该参数方程的曲线,可以先定义一个 时间向量 t,由其计算出 x,y,z 向量,并用函数 plot3 ( ) 绘制三维曲线,注意这里应该采用点运算. t = 0: . 1: 2* pi; x = t. ^3. * sin( 3* t) . * exp( - t) ; y = t. ^3. * cos( 3* t) . * exp( - t) ; z = t. ^2; plot3( x,y,z) ,grid 例 2 利用 plot3 绘制宝石项链. 在 Matlab 命令窗口中输入以下代码: T = ( 0: 0. 02: 2) * pi; X = sin( t) ; Y = cos( t) ; Z = cos( 2* t) ; plot3( x,y,z,’b - ‘,x,y,z,’bd’) ; View( [- 82,58]) ; Box on; Legend. 执行程序,就可以看到“宝石项链”的图形. 但有时从 函数的曲线 方 程 不 易 作 出 三 维 图 形,可 以 将 曲 线 方 程 转 化参数方程,也容易输出其图形. 2. 三维曲面 在空间解析几何中,如果已知二元函数 z = f( x,y) , 则可以绘制出该函数的三维曲面图. 在绘制三维图之前,应该先调用 meshgrid( ) 函数生 成网络矩阵,这样就可以按函数公式来计算. 例 3 数字图象处理中使用的 butterworth 低通滤波 器模型. 在 Matlab 命令窗口中输入以下代码 [x,y]= meshgrid( 0: 31) ; —2—
建设“高等代数”精品课程的思路与实践
建设“高等代数”精品课程的思路与实践摘要:本文从以学科思想理解课程的结构与教学内容,突出学科思想方法的教学活动,建设资源共享的课程网站,开展全省课程研讨活动等方面,介绍了厦门大学“高等代数”国家精品课程建设的思路与实践。
关键词:课程建设;学科思想;课程网站;课程研讨会“高等代数”是一门传统课程,是大学本科数学各个专业的主干基础课程。
它是数学在其他学科应用的必需基础课程,又是数学修养的核心课程。
厦门大学的“高等代数”课程,2003年被评为福建省精品课程,2007年被评为国家精品课程。
我们主要的课程建设思路和做法如下。
一、以代数学的思想,理解“高等代数”课程结构与教学内容大学本科数学以分析,代数,几何作为主干课程。
代数学是研究一个代数对象的结构理论与表示理论的一门学科。
群、环、域、模、格、线性空间、李代数、结合代数等,是不同的代数对象,它们都是在一个集合定义若干运算,且满足若干公理所构成的代数系统。
线性空间则是本科生所接触,所学习的第一个代数结构。
笔者认为,“高等代数”分为两个部分,一个是基本工具部分,不但是学习高等代数的基本工具,也是学习其他数学学科的工具,同时是用数学来研究其他相关学科的基本工具。
它包括行列式、矩阵、线性方程组、二次型、特征值特征向量、正交向量等内容,这部分内容是理工科、经管类、医学、农学所学习的“线性代数”的基本内容。
这部分的内容经常可以用解线性方程组为主线来组织教学内容,来叙述教学内容。
另外一个部分则是研究线性空间,包括线性空间、线性映射(变换)、相似标准型等内容,这就是研究代数对象。
在“高等代数”课程中是怎么研究线性空间的?笔者认为,有三个层次。
第一个层次,研究向量之间的线性关系,即作为线性空间的元素之间的关系。
内容包括线性表示、线性相关性、线性无关极大组、基与维数等,难点与重点是线性相关性。
第二个层次,研究线性子空间,即从子集合的观点考虑线性空间。
内容包括子空间与子空间的运算(交与和)、生成子空间、直和分解。
Maple在高等代数实验教学中的应用探讨——以一种多项式因式分解方法为例
圜
1算 法概述
学实 验是 未 来科 学不 可缺 少 的方 法之 一 ,对 数值 处 理有着 非 常重 要 的作 用. 培 养学 生 的教 学过 在 调试 ,会综 合 利用 M p e 言 解决 科 学计 算 的 问题 ,利用 M p e a l语 a l 的数 值 处理 功 能 ,培养 和 提 高学
变化 ,这在实际计算中是很不方便 的,为了克服这一缺 点,本文用牛顿 向前差分差值算法I 2 代替拉格朗日
算法 .
由牛顿插 值公式 知 ,为 了求得k 因式g X ,须选取K 1 次 () + 个整数 点X,X ,…,x及其 函数值 。 。
牛顿 插 值 公式构 造 多项式 g X ,判 断 所求 多项 式g x 是否 为f x 的因式 . () () () 若 g x 为整 系 数 多项 式 且最 高 项 系数 不 为0  ̄ f a = ;否  ̄ f a = . l g l () , 1lg l ] l l g O 若f a = 并验 证 出g x 是f x J ( ) ()
第3 2卷 第 5 期
玉林师范学院学报 ( 自然科学 )
V 12N . o 3 o5 .
兰 生
』
N LO U I O MA NV R IY (ar cne A FY L N R LU IE S N T N ta Si c ul e )
M p 高等代 数实验教学 中的应用探讨 a 在 l e
本 文 基 于K o e k r r n c e 因式 分解 的基 本 思想 f 1 】 有 理数 域 内 ,任何 n 多项 式 都 能 经有 限此 算术 运 算 :在 次
分 解 为不 可约 多 项式 的乘 积 . 设f() 次整 系 数 多项式 且 f x = () () X 为n () g X q X ,则适 当调 整 系数 后 ,可 使f x () 的因式 g X 、q X 也 为整 系 数 多项式 . 于整 数 a () () 对 ,等式 f a = () () 的g() () g a q a 中 a 的数 值 必 为f a 的 因数 , ()
关于将数学软件融入大学教学的研究
关于将数学软件融入大学教学的研究摘要:大学数学现在的教学模式多数以板书为主,虽然这种模式由于数学逻辑性强及推导过程较多等特点具有一定合理性,但是其本身又由于数学的抽象性而存在着很大的弊端。
本文针对这一问题,主要介绍几种常用的数学软件Mathmatica、MATLAB、SPSS在教学中的应用,并指出如何在教学中合理应用相应软件从而提高教学质量。
关键词:数学软件Mathmatica MATLAB SPSS多年来,由于受数学学科本身特点和传统教学技术的限制,所以始终存在着教学理论和实践不易结合这样的问题,同时在教学上存在着明显的单向,被动的弊端。
但是随着计算机技术的普及和发展,数学软件的产生,上面的问题将得到大大改善。
比如像Mathmatica、MATLAB 等软件,具有强大的绘图功能,这就使得很多复杂数学问题的几何解释能够形象直观的展示给学生,从而让学生对问题有更深刻的理解,这是板书教学所不能企及的,关于这一点在文献[1][2]中也有所论述。
另外,像Mathmatica、MATLAB包括SPSS在内的数学软件还有强大的计算功能,很多实际问题,如果我们抽象出其内在的数学模式,就可以用数学软件得以求解。
而工科数学课委会,早在1996年就曾指出“计算机的广泛应用,数值计算、符号演算以及软件包等计算技术的高速发展,不但替代的很多人工的推导和计算,而且正改变着人们对数学知识的需求,冲击着传统的观念和方法”[3],这就告诉我们利用计算机进行数学实验,包括数学建模,常用数学软件包的使用,数据处理,应该作为基础知识引入教学课堂,从而促进教学内容课程体系改革。
所以下面我们就主要介绍几种常用的数学软件Mathmatica、MATLAB、SPSS在教学中的应用,并且指出如何在教学中合理应用软件从而提高教学质量。
1 Mathmatica在教学中的应用Mathmatica是世界上仅有的用于科学计算的完全集成环境,从1988年的第一次发行至今,它已对计算机在许多技术和其他领域的使用方法产生了深远影响。
《高等代数》实验课的探索与实践
性的今天 ,高等代数》 《 以其追求 内容 结构的清晰刻 画和作 为
数学应用的基础 , 是大学数学 专业 的主干基础 课程 。它是数 学在其他学科应用的必需基础课程 , 是数学修养 的核心课 又 程 。随着现代计算机科学 的逐步普 及 , 人们对 计算机 的依 赖 程度越来越高。近年来发展起来 的 MA L B软件包 , TA 它在数
b = 1
—
( ) 理与 方法 : 2原 求线 性方 程组所 用 的 MA I TAB命 令 , 计 算方阵 A的行列式 dt A) 增广 矩 阵 : A, ] b是向量 , e( , [ b,
适 用于任意阶的矩 阵 , 阵 的秩 :ak A) 非 齐次 线性方 程 矩 r ( , n 组的特解 :0= b或 pn ( b x A\ iy A)
2 4
> > r k A) a ( n
aIS I =
齐次线性方程组 的基 础解 系 : l A , n l )化矩 阵为行 阶梯 u(
形 : ( 】 耐 A)
2
() 3 实验内容
r
>> r k [ b ) a ( A, ] n
A l 2+ + 3=1
lns i =
《 高等代数》 是数学 学科 的- f传 统课 程 。在 当今 世界 - - ] 的数学 内部学科趋于 统一性 和 数学在 其他 学科 的广 泛应 用
得 出。到 了期末 , 个学 生都 有不 同程度 的提 高 , 仅学 习 每 不 了高等代数 的知识 , 而且也加 强了计算机的应用能力 。 2 《 高等代数》 实验课 内容 的设计 实验 的 目的是 提高学生学 习高等 代数 的积极 性 , 高学 提 生对 高等代数 的应 用意 识并 培养 学生 用所学 的数学 知识 和
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
齐齐哈尔大学毕业设计(论文)题目数学软件在高等代数中的应用学院理学院专业班级 xxxxxxxxxxxxxxxxxxxxxxxxx学生姓名xxxx指导教师xxxx成绩2012年6月15日齐齐哈尔大学毕业设计(论文)摘要数学软件具有强大的计算能力可以节约大量计算数据和推导公式等所花费的时间,在数学领域应用广泛.本文叙述了MATLAB和Mathematica两款软件的发展,并用Mathematica解决高等代数中的多项式问题、符号矩阵的基本运算问题以及线性方程组的求解问题,用MATLAB解决的是高等代数中矩阵的高级运算和线性方程组求通解的问题. 在用MATLAB研究矩阵的分解时,从一般矩阵的三角分解的定义出发解出关于矩阵的三角分解,并研究矩阵的Cholesky分解和矩阵的Jordan变换以及矩阵的奇异值分解.关键词:数学软件;Mathematica;MATLAB;高等代数- I -齐齐哈尔大学毕业设计(论文)AbstractThe invention of mathematical software has the significance of cross-age, is one of the great achievements of human civilization and the invention of mathematical software can save the time it takes a large number of calculations and derive formulas.This paper describes the development of two software in MATLAB and MATHEMATICA, and Advanced Algebra of polynomial using Mathematica, the symbol matrix computing problems as well as solving problems of linear equations solved using Matlab is a matrix in Advanced Algebra AdvancedJordan transform and matrix arithmetic and linear equations to seek the general solution in the matrix decomposition using MATLAB research, starting from the definition of the general matrix of the triangular decomposition to solve the triangular decomposition matrix, and the Cholesky decomposition matrix and the matrixthe singular value decomposition.Key words: Mathematical Software;Mathematica;MATLAB;Advanced Algebra- II -齐齐哈尔大学毕业设计(论文)目录摘要 (I)Abstract ····································································································I I绪论 (1)第1章数学软件概述 (2)1.1 MATLAB简介 (2)1.1.1 MATLAB发展历程 (2)1.1.2 基本功能 (2)1.2 Mathematica简介 (2)1.2.1 Mathematica的功能及特点 (2)1.2.2 Mathematica的应用 (3)第2章数学软件在多项式中的应用 (4)2.1 多项式的基本运算 (4)2.2 多项式元素提取 (5)2.3 多项式的展开与合并 (7)2.4 多项式的化简 (10)2.5 多项式的因式分解 (11)第3章数学软件在矩阵计算中的应用 (13)3.1 矩阵的基本运算 (13)3.1.1用MATLAB解决矩阵的基本运算 (13)3.1.2用Mathematica处理符号矩阵的运算 (18)3.2数值矩阵的复杂运算 (19)3.2.1用MATLAB解决数值矩阵的复杂运算 (19)3.2.2 用Mathematica解决符号矩阵的复杂运算 (28)第4章数学软件在解线性方程组中的应用 (30)4.1 用MATLAB求解线性方程组 (30)4.1.1线性方程组唯一解或特解的解法 (30)4.1.2齐次线性方程组通解的解法 (31)4.1.3非齐次线性方程组通解的解法 (32)4.2 用Mathematica求解线性方程组 (34)结论 (36)齐齐哈尔大学毕业设计(论文)参考文献 (37)致谢 (38)齐齐哈尔大学毕业设计(论文)绪论随着计算机技术的不断发展,给我们的生活带来了巨大的便捷. 以前只能用手工的计算也在它的帮助下很快的完成. 高等代数中计算问题十分复杂,只要有一个步骤的错误,那么,结果就会差别很大. 而用计算机软件来计算能够提高计算的准确度,并且会节约很多的时间. MATLAB具有强大的数值计算功能和可视化功能不仅能进行矩阵的运算,还可以绘制函数和数据. Mathematic的特长是符号的计算,它具有强大的图形功能和高度的数值计算功能. 这两款软件只要在计算机上输入数学符号、公式系统就可以立即处理,然后显示结果. 用数学软件解决的高等代数问题可以应用到很多方面,如物理的双摆系统,工程中的一些图形问题.在国内外有许多关于本课题的研究成果. 在国内,对于数学软件的研究已经取得了一定得成果. 张韵华编写的《Mathematica7实用教程》[1]这本书中从初等数学到高等数学,介绍怎样去使用Mathematica的函数做微分方程、线性代数、线性代数微积分和初等数学中的计算题,用来证明数学公式的的推导,演示函数图形,让高年级本科生和研究生在专业课中“会用”和“用好”高等数学,谢进李大美编写的《MATLAB与计算方法试验》[2]主要研究的是应用到计算上的方法. 而在国外,Hahn,Brian D的《Essential MATLAB for engineers and scientists》[3]主要介绍的是MATLAB对于工程方面的一些应用. V. F. Edneral R. Khanin的《Investigation of the Double Pendulum System by the Normal Form Method in Mathematica》[4]中利用Mathematica对物理学中的双摆系统进行了研究.本文主要研究的是Mathematica与MATLAB这两个软件来解决高等代数中的一些问题,首先,简单介绍MATLAB和Mathematica这两个软件,介绍这两款软件的发展历程和基本特点. 其次,运用Mathematica进行多项式的运算,包括多项式的加、减、乘、除,多项式元素的提取,多项式的展开与合并,多项式的因式分解. 再次,运用Matlab进行矩阵的加、减、乘、除、乘方的运算,求矩阵的秩、逆矩阵、矩阵的转置、矩阵的分解和进行矩阵特征值与特征向量的运算,接下来运用Mathematica进行矩阵的加、减、乘、除、乘方的运算,求矩阵的秩及矩阵的转置. 最后,分别用MATLAB和Mathematica解决线性方程组的通解问题.- 1 -齐齐哈尔大学毕业设计(论文)第1章数学软件概述1.1 MATLAB简介1.1.1 MATLAB发展历程MATLAB是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks公司出品的商业数学软件[5],用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分.20世纪70年代,美国新墨西哥大学计算机科学系主任Cleve Moler为了减轻学生编程的负担,用FORTRAN编写了最早的MATLAB. 1984年由Moler、Little、Steve Bangert 合作成立了的MathWorks公司正式把MATLAB推向市场. 到20世纪90年代,MATLAB 已成为国际的标准计算软件.1.1.2 基本功能MATLAB软件是一款可以用于进行图形绘制、动画制作、编写程序的数学软件,其界面是由多个窗口组成,并具有强大的工具箱,能够完成工程领域的计算和绘制问题.MATLAB在许多领域得到广泛的应用,为科技工作者提供了方便、快捷的工具. MATLAB的基本功能包括以下几个方面:1)数值计算:MATLAB能够完成初等数学、微积分、矩阵中的基本运算.2)图形绘制和动画制作:MATLAB能够绘制二维、三维的的静态和动态图形,并进行着方面的修改.3)系统的仿真和建模:MATLAB提供的多种工具箱能够解决相关领域的复杂问题.4)编制程序:MATLAB可以像其它语言一样定义选择和循环结构.1.2 Mathematica简介1.2.1 Mathematica的功能及特点Mathematica是美国Wolfram研究公司开发的软件,自1988年首次发布以来,因系统精致的结构和强大的计算能力而广为流传,经不断扩充和完善修改之后在2008年推出了Mathematica7. Mathematica产品家族还包括webMathematica、Mathematica Player、gridMathematica等一系列的产品[6].- 2 -齐齐哈尔大学毕业设计(论文)Mathematica功能十分的强大,包含了微积分、线性代数、初等数学等多个有关于数学的领域. 它覆盖了多个数学方向的方法和新技术,有成百上千个作图函数是可视化数据的最好的“朋友”;它的编辑功能完备的工作平台Notebooks以完成许多报告和论文的通用标准;在给用户最大自由度的集成环境和优良的系统开放性的前提下,吸引了各行各业的用户. 在最近的20年里,用Mathematica的算法开发建立了一个关于数值计算的新层次. 特别是很多自动选择算法、在系统范围内支持自动误差追踪、原始算法、任意精度算法. 把Mathematica引入并行计算,就可以充分发挥Mathematica的自动并行计算技术和多核处理的计算能力.1.2.2 Mathematica的应用1、Mathematica是数学公式的推导工具科学研究中常常进行公式的推导和验证,有时由于设计模型的复杂性,在手工进行推导中既有数学推导的运算又有数学的深度理论. 例如:一个7个自由度行走的机器人,在求解它的加速度的时候,包括了大量的多维转换公式的推导,可以有上百项甚至上千项[7]. 这时只能用符号计算软件来完成公式的推导. 这样的例子还有很多,在群论、数论的研究中,也有专门的符号计算软件来供数学家来使用. 用Mathematica来进行公式的推导,既正确又迅速. 它很好的帮助了科研人员在理论推导中繁琐的一面,使科研人员有更多的时间和精力创造新的事物.2、Mathematica是理论研究的实验工具在生物、物理和化学等许许多多的领域中,实验是科学研究的一种方法. Mthematica 的出现为数学领域和一些理论研究领域提供了很好的实验工具. 数学的创造大多数都来自直觉,而用Mathematica可以很快的对定理的结论进行直接的验证,或将待研究的方程绘出图形用以观察变化趋势和几何性质,常常可以给研究人员带来不同的启发和灵感,他们将数学实验的结果进行理论化并加以证明,甚至会得到意想不到的结果和收获.3、Mathematica是数学教学的辅助工具在应用Mathematica的初期,使用者基本是科研人员或相关的专业人士. 目前以广泛的应用到了教学中,是计算机辅助教学的良好环境. 它以成为许多高校“数学建模”和“数学实验”课程的支持工具. 目前国内外许多所高校的教材中都应用到用Mathematica来计算数学习题的内容. 在高等数学课程教学中,系统提供的数学函数的图像直观的帮助学生理解数学的内涵,培养学生的空间想象能力.- 3 -齐齐哈尔大学毕业设计(论文)- 4 -第2章 数学软件在多项式中的应用多项式是最常见的代数表达式,是符号和代数计算的主要研究对象,在各种科学领域中都有着很广泛的的应用.把若干个单项式相加就叫做多项式(减法中有:减一个数等于加上它的相反数). 多项式中每个单项式叫做多项式的项,这些单项式中的最高次数,就是这个多项式的次数.2.1 多项式的基本运算多项式的基本运算包括:加法、减法、乘法、除法、模运算,其中,加法、减法、乘法和除法,运算的符号和在一般代数表达式中的运算符号相同. 多项式的乘法和除法运算的结构都是不化简的形式,最多约去分子、分母中比较明显的公因式,因此,经常需要用Expand 或Simplify 等函数对计算结果进行展开或化简[8].下面将用Mathematica 来解决多项式的运算.1、多项式的加法:多项式的同类项的系数相加.例2.1 a =x 3+xy 4+,b =x 3+x 2+x 2y +5, 求b a +In[1]:=a =x 3+xy 4+;b =x 3+x2+x 2y +5;b a +Out[1]=92223++++xy y x x x 2、多项式的减法:多项式的同类项的系数相减.例2.2 5433247++++=xy x y x x a ,133223++++=xy y x x x b ,求b a -In[2]:=5433247++++=xy x y x x a ;133223++++=xy y x x x b ;b a -Out[2]=63323223247-+---+xy y x x x y x x3、多项式的乘法:多项式中的每个单项式分别相乘.例2.3 157433247++++=xy x y x x a ,12533223++-+=xy y x x x b ,22132236+++-=y y y x x c ,求c b a **In[3]:= 157433247++++=xy x y x x a ;12533223++-+=xy y x x x b ;22132236+++-=y y y x x c ;c b a **齐齐哈尔大学毕业设计(论文)- 5 - Out[3]=( 157433247++++xy x y x x )(12533223++-+xy y x x x )(22132236+++-y y y x x )4、多项式的除法:多项式与多项式直接相除.例2.4 5463323247++++-=xy y x y x y x x a ,125333722357++-+++=xy y x x x y x x b 求b a /In[4]:=5463323247++++-=xy y x y x y x x a ;125333722357++-+++=xy y x x x y x x b ;b a /Out[4]=( 5463323247++++-xy y x y x y x x )/(125333722357++-+++xy y x x x y x x )给定两个变量为一个的多项式)(x m 和)(x n ,存在唯一的多项式)(x p 和)(x q 使得)()()()(x q x n x p x m +=并且)(deg )(deg x n x q <,其中)(x p 称为)(x m 被)(x n 除的商式,)(x q 称为)(x m 被)(x n 除的余式. 在Mathematica 中,PolynomialQuotient 和PolynomialRemainder 函数分别计算两个多项式相除的商和余式,PolynomialQuotientRemainder 函数则同时给出两个多项式相除的商式和余式. 例2.5 自变量为a 的式子3374y x +求被除式为y x -的商式和余式In[5]:=PolynomialQuotient[3374y x +,y x -,x ]Out[5]=22444y xy x ++ (表示关于自变量x 的商式)In[6]:=PolynomialRemainder[4x^3+7y^3,x-y,x]Out[6]=211y (表示关于自变量x 的余式)In[7]:=PolynomialQuotientRemainder[3374y x +,y x -,x ]Out[7]= [22444y xy x ++,211y ]这里是按照[商式,余式]的顺序来排列的.2.2 多项式元素提取在多项式运算中,有时想检验一个表达式是否为多项式,查看一个多项式所包含的变元、关于某个变量的最高次幂、某个幂次项的系数,或者替换多项式的某项. 这些都可以通过Mathematica 的编程解决.例2.6 检验22n m -是否关于变元m ,n 的多项式In[1]:=PolynomialQ[22n m -,{m ,n }]Out[1]=True多项式是关于变元m ,n 的多项式例2.7 求多项式n n m n m )2()(2+-+的变元列表In[2]:=Variables[n n m n m )2()(2+-+]Out[2]={ m ,n }多项式中的变元为m ,n例2.8 求多项式n n m n m )2()(2+-+关于变元m 的最高次幂In[3]:=Exponent[n n m n m )2()(2+-+]Out[3]=2例2.9 求多项式n n m n m )2()(2+-+关于变元n 的最高次幂In[4]:=Exponent[n n m n m )2()(2+-+,n ]Out[4]=0上面的2个例题是分别求出一个多项式中关于2个不同变量的最高次幂例2.10 求多项式n n m n m )2()(2+-+关于变元m 的系数列表In[5]:=CoefficientList[n n m n m )2()(2+-+,m ]Out[5]={0,0,1}例2.11 求多项式n n m n m )2()(3+-+关于变元n 的系数列表In[6]:=CoefficientList[n n m n m )2()(3+-+,n ]Out[6]={3m ,232m m +-,m 31+-,1 }例2.12 求多项式2(b a 321++)2关于变元a ,b 的系数列表In[7]:=CoefficientList2(b a 321++),{a ,b }]Out[7]={{2,18,54,54},{12,72,108,0},{24,72,0,0},{16,0,0,0}}例2.13 求多项式2)421(3y x ++中y 0项的系数In[8]:=Coefficient [2)421(3y x ++,y ,0]Out[8]=[2)61(3x +]当多项式具有n 个变元时,CoefficientList 函数返回一个n 维列表,使用起来非常繁琐并且效率不高. 这时,MonomialList 和CoefficientRules 函数给出了一个替代的解决方法.例2.14 求多项式(n m +)2的单项式列表In[9]:=MonomialList[(n m +)2]Out[9]={2m ,mn 2,2n }例2.15 求多项式(n m +)2关于m ,n 的单项式系数列表In[10]:=CoefficientRules [(n m +)2,{m ,n }]Out[10]= {{2,1}→1,{1,1}→2,{0,2}→1,}例2.16 由单项式列表生成多项式{1,0}→a ,{1,1}→b ,{1,2}→cIn[10]:=FromCoefficientRules[{{1,0}→a ,{1,1}→b , {1,2}→c },{m ,n }] Out[10]=2cmn bmn am ++其中数字代表着每个对应项的幂.2.3 多项式的展开与合并在计算多项式的时候,特别是表达式中有分式的时候,经常需要将表达式展开或者是合并,用以满足各种运算的要求,从而得到正确的结果. 而通过Mathematica 软件可以很快的对多项式进行展开与合并.例2.17 展开多项式2)243(++b aIn[1]:=Expand[2)243(++b a ]Out[1]=2216248964b ab b a a +++++例2.18 按a 展开多项式2)243(++b aIn[2]:=Collect[2)243(++b a ,a ]Out[2]=4+29a +b 16+216b +)2412(b a +通常Expand 函数仅仅展开表达式中位于最顶层的多项式部分,并不是都对所有的幂次项都展开的,而ExpandAll 函数则是展开表达式中能展开的所有的项. 例2.19 求(b a +2)2-关于函数Expand 的展开式In[3]:=Expand[(b a +2)2-](1)Out[3]=2)2/(1b a +例2.20 求cos[2)2(b a + 关于函数Expand 的展开式In[4]:=Expand[cos[2)2(b a +](2)Out[4]=cos 2)2(b a +例2.21 求cos[2)2(b a +]关于函数ExpandAll 的展开式In[5]:=ExpandAll[cos[2)2(b a +]](3)Out[5]=cos[24a +4ab +2b ]式子(1)和式子(2)均没有展开表达式,而式子(3)则把表达式展开了.对于如(xy )z 这样的表达式,因为它不是关于x ,y ,z 的多项式,Expand 和ExpandAll 函数通常是不展开的. PowerExpand 则可以对此进行展开.例2.22 展开多项式Log ])*[(c b aIn[6]:={ExpandAll[Log ])*[(c b a ],PowerExpand[Log ])*[(c b a ]}Out[6]={Log ])[(c ab ],c (Log [a ],Log [b ])}当Expand 函数作用于分子的时候,分子被展开,表达式被写成若干分式之和的形式. ExpandDenominator 和ExpandNumerator 函数则分别展开分母和分子,表达式扔是一个分式的形式.例2.23 展开分式(m +1)2/()1(m m -)+(m -1)/(m +1)2In[7]:==x (m +1)2/()1(m m -)+(m -1)/(m +1)2;Expand[x]Out[7]=m-12 +m m )1(1-+m m -1+2)1(1m +-2)1(m m + 例2.24 展开分式(m +1)2/()1(m m -)+(m -1)/(m +1)2的分母In[8]:==x (m +1)2/()1(m m -)+(m -1)/(m +1)2;ExpandDenominator [x] (展开分式的分母) Out[8]=22)1(m m m -++2211mm m ++- 例2.25 展开分式(m +1)2/()1(m m -)+(m -1)/(m +1)2的分子In[9]:==x (m +1)2/()1(m m -)+(m -1)/(m +1)2;ExpandNumerator [x] (展开分式的分子)Out[9]=2)1(1m m +-+m m m m )1(212-++ 如果希望把分式)()(x q x p 写成部分分式之和)(11x q a +)(22x q a +)(33x q a +……)(x q a k k 的形式,Mathematica 提供了Apart 函数和ApartSquareFree 函数.例2.26 展开多项式2m /(221m -+4m )In[10]:==x 2m /(221m -+4m );Aprat[x ]展开分式的分母 Out[10]= Aprat[42221m m m +-] In[11]:=ApartSquareFree[x ]展开分式的分子Out[11]=22)1(1m +-+211m +-Cancel 函数和Together 函数则分别可以对表达式中的分式进行约分和通分. 例2.27 把多项式(22n m -)/(33n m -)进行约分In[12]:=Cancel[(22n m -)/(33n m -)] Out[12]=22nmn m n m +++ 例2.28 把多项式n m +1 -nm -1进行通分 In[13]:=Together[n m +1 -n m -1] Out[13]=))((2n m n m n -+- 2.4 多项式的化简Simplif y 函数是Mathematica 中用来化简表达式的最常用的函数. 它通过一系列的变换,将表达式化简为在某种意义下的“最简”的形式. 在Simplify 函数中可以对表达式进行附加条件,使计算出来的结果更有针对性.例2.29 化简多项式2m +5(m +56)+6(31n +8) In[1]:=Simplify[2m +5(m +56)+6(31n +8)] Out[1]=54+5m +2n +m 2例2.30 化简多项式m +5(m +56)+6(31n +8)+7(m +2n )+3n 2 In[2]:=Simplify[m +5(m +56)+6(31n +8)+7(m +2n )+3n 2] Out[2]=54+12m +13n +3n 2例2.31 深入化简多项式2m +3(m +32) In[3]:=FullSimplify [2m +3(m +32)] Out[3]=(1+m )(2+m )例2.32 深入化简多项式62m +23m +20In[4]:=FullSimplify [62m +23m +20]Out[4]=(4+3m )(5+2m )2.5 多项式的因式分解将多项式分解成不可约因式的乘积是我们经常会遇到的问题. Mathematica 在进行多项式的化简的时候也首先对多项式进行因式分解.例2.33 分解多项式a4b -4为不可约整系数多项式乘积的形式 In[1]:=Factor[a 4b -4] Out[1]=(a b -)(a +b )(a 2+b 2)例2.34 多项式33b a -的不可约因子及其方幂列表In[2]:=FactorList[33b a -]Out[2]={{1,1},{b a -,1},{a 2+a b +b 2,1}}括号内的前面项代表不可约的因式,后面项代表它的幂.例2.35 检验多项式a 3+b 2是否为不可约多项式In[3]:=IrreduciblePolynomialQ[a 3+b2]Out[3]=True 如果希望在复数域上分解多项式,则可以在Factor 函数中使用Extension 选项. 例2.36 在复数域上分解多项式a 3-b 3In[4]:=Factor[a 3b -2;Extension →Sqrt[-3]]Out[4]=Extension →i 3(1/4)(a b -)(-2ia +(i -+3)b )(2ia +(i +3)b )还可以通过使用Modulus 选项,在有限域上分解多项式.例2.37 在有限域上分解多项式a 31-In[5]:=Factor[a 31-,Modulus →5]Out[5]=(4+a )(1+a +2a )一般的,相对于多项式的完全因式分解,无重根因子分解的计算量小,速度快. 例2.38 分解多项式12258910+--+--a a a a a a 为无重根整系数多项式乘积的形式In[6]:=FactorSquareFree[12258910+--+--a a a a a a ]Out[6]=)21()1()1(43224a a a a a a ++++++-例2.39 求多项式12258910+--+--a a a a a a 的无重根因子及其方幂列表 In[7]:=FactorSquareFreeList[12258910+--+--a a a a a a ]Out[7]={{1,1},{a --1,4},{a +1,2},{43221a a a a ++++,1}}FactorTerms 函数将每个多项式1(x f ,…,)n x 表示成1(x q a ⋅,…,)n x 的形式,其中1(x q ,…,)n x 是一个本原多项式,a 是1(x q a ⋅,…,)n x 各项系数的最大公因式,称为1(x f ,…,)n x 的容度.例2.40 分解多项式22363b ab a ++为常数与本原多项式乘积的形式In[8]:=FactorTerms[22363b ab a ++]Out[8]=3(222b ab a ++)例2.41 求出多项式22363b ab a ++的常数部分与本原部分In[9]:=FactorTermsList[22363b ab a ++]Out[9]={3,222b ab a ++}Decompose 函数有时可以将一个一元多项式表示成多项式复合的形式.例 2.42 使多项式8765432412223538372113a a a a a a a a ++++++++变为复合多项式的形式In[10]:=8765432412223538372113a a a a a a a a q ++++++++=;Decompose[q ,a ]Out[10]={ 2713a a ++,23a a +, 2a a +}上述所表示的是)))((()(a h g f a q =,这里2713)(a a a f ++=,23)(a a a g +=,2)(a a x h +=.第3章 数学软件在矩阵计算中的应用矩阵这一概念由英国数学家凯利在19世纪首先提出的[9]. 在数学上,矩阵是指纵横排列的二维数据表格,最早来自于方程组的系数及常数所构成的方阵. 矩阵的历史非常悠久,在史前年代就已经有人研究矩阵了. 1693年,戈特弗里德·威廉·莱布尼茨作为微积分的发现者之一建立了行列式论(theory of determinants). 1750年,加布里尔·克拉默其后又定下了克拉默法则. 1800年左右,高斯和威廉·若尔当建立了高斯—若尔当消去法[10].3.1 矩阵的基本运算3.1.1用MATLAB 解决矩阵的基本运算矩阵的加法:设矩阵=A n m ij a ⨯)(,=B n m ij b ⨯)(,则=+B A n m ij ij b a ⨯+)( (3-1)例3.1 设=A ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡221442,B ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=712543计算 B A X += >> A=[2 4;4 1;2 2];B=[3 4;5 2;1 7];X=A+BX=5 89 33 9矩阵的减法:设矩阵=A n m ij a ⨯)(,=B n m ij b ⨯)(,则B A -n m ij ij b a ⨯-=)( (3-2)例3.2 设A ,231444⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=B =⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡512123 计算 B A X -= >> A=[4 4;4 1;3 2];B=[3 2;1 2;1 5];X=A-BX=1 23 -12 -3矩阵的乘法:(1)两个矩阵相乘:第一个矩阵的各行元素与第二个矩阵的个列元素相乘并想加[11].例3.3 设A ,7624123⎥⎦⎤⎢⎣⎡=B =⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡434921 计算 B A X *= >> A=[3 12 4;2 6 7];B=[1 2;9 4;3 4];X=A*BX=123 7077 56(2)矩阵的数乘:矩阵中的每一个元素分别与系数相乘.例3.4 设A ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=283514343 计算 A X *11= >> A=[3 4 3;4 1 5;3 8 2];X=11*AX=33 44 3344 11 5533 88 22(3)矩阵的点乘:维数相同的两个向量相乘,向量对应元素相乘.例3.5 ⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡=3711543,741321211B A 计算B A X *.= >> A=[11 2 21;3 41 7];B=[3 4 5;11 7 3];X=A.*BX=33 8 10533 287 21(4)矩阵内积:两个向量对应分量乘积之和.函数命令:dot(A ,B ); dot(A ,B ,dim)这里A ,B 必须具有相同的维数,而dot(A ,B ,dim)表示在dim 维数中给出A 与B 的点积.例3.6 ⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡=75428544,43737543B A 计算 C=dot(A,B) >> A=[3 4 5 7;3 7 3 4];B=[4 4 5 8;2 4 5 7];C=dot(A ,B)C=18 44 40 84例3.7 ⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡=75428544,43737543B A 计算 C=dot(A ,B ,3) >> A=[3 4 5 7;3 7 3 4];B=[4 4 5 8;2 4 5 7];C=dot(A ,B ,3)C=12 16 25 566 28 15 28(5)叉积:过两相交向量交点且垂直于两向量所在平面的向量.函数命令:cross例3.8 已知向量1[=a 4 ]7和3[=b 9 ]2求x=cross(a ,b)>> a=[1 4 7];b=[3 9 2];X=cross(a ,b)X=-55 19 -3(6)混合积:计算时先点乘后叉乘,顺序不可以颠倒.例3.9 向量3[=a 8 ]5,8[=b 5 ]1,=c [6 6 5],求三个向量的混合积)(c b a x ⨯⋅= >> a=[3 5 8];b=[8 5 1];c=[6 6 5];X=dot(a ,cross(b ,c))X=31矩阵的除法:(1)左除(\)和右除(/):一般情况下,b A x /=是方程b x A =*的解,而A b x /=是方程b A x =*的解.例3.10 ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=274,654543472B A ,求B A X /= >> A=[2 7 4;3 4 5;4 5 6];B=[4;7;2];X=A/B X=0.6111 0.5444 0.7000(2)矩阵的点除:A 和B 的维数相同,A B /.表示矩阵B 中的元素除以矩阵A 中的对应元素,结果矩阵的维数不变.例3.11 ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=273474,874332B A ,求 A B X /.= >> A=[2 3;3 4;7 8];B=[4 7;4 3;7 2];X=B./A X=2.0000 2.3333 1.3333 0.7500 1.0000 0.2500乘方运算:(1)矩阵乘方:1)当A 为方阵、P 是大于或等于0的整数时,P A ^表示A 的P 次方;P 为小于0的整数时,P A ^表示A 1-的P 次方. 2)当A 为方阵,P 为非整数时,则P A ^=111...-⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡V d d V p nm p(3-3) 其中V 为A 的特征向量,⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡nn d d ...11为特征值对角矩阵,如果有重根,以上指令不成立.3)标量的矩阵乘方A P 定义为1...11-⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=V p p V P nn d d A (3-4) 式子中V ,D 满足特征值分解A V =V D . 例3.12 A =rand (3),求3A B = >> A=rand(3);B=A^3 B=2.0111 2.3587 1.2844 0.7112 1.1376 0.32912.1448 2.7703 1.3941这里的rand(3)表示一个随机的3阶矩阵.(2)矩阵的数量乘方:1)矩阵的矩阵乘方B A .^,表示矩阵A 中元素对矩阵B 中的对应元素求幂(A ,B 维数相同),结果的矩阵与原矩阵有相同的维数. 2)标量的矩阵乘方定义为[12]:=A P .^⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡mm m n a a a a p p p p ............1111 (3-5)3)矩阵的标量乘方P A .^,表示矩阵中每个元素的P 次方.例3.13 A =rand (2),B =[6 7;3 5],求B A X .^= >> A=rand(2);B=[6 7;3 5];X=A.^B X=0.0719 0.0547 0.5473 0.0047矩阵的转置:A 的转置为这样一个m n ⨯阶矩阵B ,满足B =ji a ,即ji ij a b =(B 的第i 行第j 列元素是A 的第j 行第i 列元素),记B A ='例3.14 ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=298954843A ,求A X '= >> A=[3 4 8;4 5 9;8 9 2];X=A’ X=3 4 3 4 5 1 8 9 23.1.2用Mathematica 处理符号矩阵的运算矩阵的加法:设矩阵n m ij a A ⨯=)(,n m ij b B ⨯=)(,则n m ij ij b a B A ⨯+=+)( (3-6)例3.15 ⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡=t zy xh p o n m g ,,求h g + In[1]:= }/@{;,h g matrixform t z y xh p o n m g +⎪⎪⎭⎫ ⎝⎛=⎪⎪⎭⎫ ⎝⎛= Out[1]= {matrixform[{{x m +,y n + },{z o +,t p +}}]}矩阵的减法:设矩阵n m ij a A ⨯=)(,n m ij b B ⨯=)(,则n m ij ij b a B A ⨯-=-)( (3-7)例3.16 计算 ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=z o y n x mh f c e bd ag , 求 h g - In[2]:= }/@{;;h g matrixform z o y nx mh f c e bd a g -⎪⎪⎪⎭⎫⎝⎛=⎪⎪⎪⎭⎫⎝⎛= Out[2]= {matrixform[{{a-m ,d-x},{b-n ,e-y},{c-o ,f-z}}]}矩阵的乘法:(1)两个矩阵相乘:第一个矩阵的各行元素与第二个矩阵的各列元素相乘并相加.例3.17 设⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎦⎤⎢⎣⎡=o z n y m x h f ed c b a g , 计算h g X *= In[2]:=}*/@{;;h g matrixform o z n y m x h f ed c ba g ⎪⎪⎪⎭⎫ ⎝⎛=⎪⎪⎭⎫⎝⎛= Out[2]=⎪⎩⎪⎨⎧⎭⎬⎫⎪⎪⎭⎫ ⎝⎛++++++++fo ne dm fz ey dx co bn am cz by ax(2)矩阵的数乘:矩阵中的每一个元素分别与系数相乘.例3.18 ⎥⎦⎤⎢⎣⎡=f e d c ba x 计算x Z *4= In[3]:=}4./@{;x matrixform f ed c ba x ⎪⎪⎭⎫⎝⎛= Out[3]=⎪⎩⎪⎨⎧⎭⎬⎫⎪⎪⎭⎫ ⎝⎛f e dc ba444444 3.2数值矩阵的复杂运算3.2.1用MATLAB 解决数值矩阵的复杂运算1、矩阵的逆:设A 是数域上的一个n 阶方阵,若在相同数域上存在另一个n 阶矩阵B ,使得E BA AB ==. 则称B 是A 的逆矩阵,而A 则被称为可逆矩阵. 函数命为:inv例3.19 B =⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--689312453 求X 的逆矩阵 >> B=[3 5 4;2 -1 3;9 8 -6];format rat ; (表示求秩可以写也可以不写) x=inv(B) x =-18/241 62/241 19/241 39/241 -54/241 -1/24125/241 21/241 -13/2412、矩阵的秩:A =n m ij a ⨯)(的不为零的子式的最大阶数称为矩阵A 的秩. 函数命为:rank例3.20 B =⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡352153765 求矩阵B 的秩 >> B=[5 6 7;3 5 1;2 5 3];r=rank(B) r =33、矩阵的特征值和特征向量:对于一个矩阵A 来说,如果存在一个非零向量x ,且有一个标量λ满足A x =λx ,则称λ为A 矩阵的一个特征值,而x 称为对应特征值λ的特征向量.函数命为:d=eig(A ) [V ,D ]=eig(A )例3.21 设⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=1863512226439275A ,⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=7963158832561486B 求A ,B 矩阵的广义特征值与特征向量 >> A=[5 7 2 9;3 4 6 2;2 2 1 5;3 6 8 1];B=[6 8 4 1;6 5 2 3;8 8 5 1;3 6 9 7];[V ,D]=eig(A ,B) V =Columns 1 through 2-2495/9148 -1323/1720 1069/1268 1 -38/3487 -1184/3487 -1 188/9907Columns 3 through 4-467/847 - 380/847i -467/847 + 380/847i 47/187 + 725/1366i 47/187 - 725/1366i 210/2899 - 631/3075i 210/2899 + 631/3075i 133/2591 - 221/1618i 133/2591 + 221/1618i D =Columns 1 through 2-716/649 0 0 1283/992 0 0 0 0Columns 3 through 40 0 0 0 985/4577 + 409/1321i 0 0 985/4577 - 409/1321i4、矩阵的分解:(1)一般矩阵的三角分解:矩阵的三角分解又可以称之为LU 分解,它的目的是将一个矩阵分解成一个上三角矩阵U 和一个下三角矩阵L 乘积的形式,即A =LU ,其中L 和U 矩阵可以分别写成⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅=1112121n n l l lL (3-8)⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅=nn n n u u u u u u U 22211211 (3-9) 由这两个矩阵可以简单的写出一个矩阵AF,其中A F=L +U -I =⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅nn n n n n u l l u u lu u u 212222111211 (3-10) 这样产生的矩阵与原来的A 矩阵关系可以写成:∑==+=⋅⋅⋅+==⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅+=⋅⋅⋅+===⋅⋅⋅==112221212111121212221221221121211112121111n k nnnk nk nn n n n n n nn n nn u u l a u l u l a u l a u u l u u u l a u l a u a u a u a (3-11)这样,我们可以求出ij l 和ij u 的递推公式:ij l =jjj k kjik ij u u l a ∑-=-11,(i j <),及ij u =∑-=-11j k kj ik ij u l a ,(i j ≤) (3-12)该公式的递推初值为i i a u 11=,n i ,,2,1 =调用格式:[L ,U ]=lu(A ) L U 分解,A =L U ;[ L ,U ,P ]=lu (A ) P 为置换矩阵,A =P1-L U这里,L ,U 分别为变换后的下三角和上三角矩阵. 在MATLAB 的lu ()函数中考虑了主元素选取的问题,所以该函数一般会给出可靠的结果. 由该函数得出的下三角矩阵L 并不一定是一个真正的下三角矩阵,因为在选取的时候可能会进行一些变换,这样主对角线的元素可能不是1,而矩阵L 内存在唯一一个定义的置换,它的各个元素都为1. 如果想获得有关于换行的信息,则可以由后一种格式调用lu ()函数,只是P 为单位阵变换出的置换矩阵,A 矩阵可以分解为A =P1-L U .例3.22 对矩阵A =⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡3221512261677254,分别用两种方法进行分解 方法一:>> A=[4 5 2 7;7 6 1 6;2 2 1 5;1 2 2 3];[L,U]=lu(A) L =4/7 1 0 0 1 0 0 0 2/7 2/11 5/9 1 1/7 8/11 1 0 U =7 6 1 6 0 11/7 10/7 25/7 0 0 9/11 -5/11 0 0 0 26/9方法二:>> A=[4 5 2 7;7 6 1 6;2 2 1 5;1 2 2 3];[L,U,P]=lu(A) L =1 0 0 0 4/7 1 0 0 1/7 8/11 1 0 2/7 2/11 5/9 1U =7 6 1 6 0 11/7 10/7 25/7 0 0 9/11 -5/11 0 0 0 26/9 P =0 1 0 0 1 0 0 0 0 0 0 1 0 0 1 0(2)对称矩阵的三角分解——Cholesky 分解:如果A 为对称矩阵,可以利用矩阵对称的特点用LU 分解的方法对之进行分解,这样可以将原来的矩阵A 分解成⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅==nn n n nn nnn Td d d d d d d d d d d d D D A 222121111222111 (3-13) 如果利用对称矩阵的属性,则L U 分解可以简化为∑-=-=112i k ikii ii d a d ,iij k jkik ij ii l d d a d ∑-=-=11,(i j <) (3-14)该分解算法又称为对称矩阵是Cholesky 分解算法. 调用格式:D=chol(A )例3.23 对矩阵A =⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡9072060470632439进行Cholesky 分解 >> A=[9 3 4 2;3 6 0 7;4 0 6 0;2 7 0 9];D=chol(A)D =3 1 4/3 2/3 0 2889/1292 -963/1615 963/340 0 0 6961/3540 1297/3188 0 0 0 880/1451这里要注意的是矩阵A 必须是正定的矩阵.(3)矩阵的Jordan 变换:对含有重特征根矩阵A 通常不能直接分解成对角矩阵,而用纯特征根的求解方法必定能使矩阵的特征向量矩阵V 含有若干相同的列,使得该矩阵为奇异矩阵.调用格式:J =jordan (A ),[V ,J ]=jordan (A )有了广义特征向量V ,则jordan 标准型可以由J =V1-A V 变换出来.例3.24 对矩阵A =⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡--------5817312167484050117897546816571进行Jordan 分解 >> A=[-71 -65 -81 -46;75 89 117 50;0 4 8 4;67 -121 -173 -58];[V ,J]=Jordan(sym(A)) V=-18496 2716 -63 1 14144 -800 75 0 -8704 32 0 0 20672 -1504 -67 0 J=-8 1 0 0 0 -8 1 00 0 -8 1 0 0 0 -8(4)矩阵的奇异值分解:矩阵的奇异值一般的情况下可以把它作为一种测度. 对任意的n m ⨯矩阵A 来说,总有rank(T AA )=rank(A A T )=rank(A ),这样就可以进一步得到有关于A A T 和T AA 有一样的非负特征值i λ的证明,而在数学里这些非负的特征值的平方根即作矩阵A 的奇异值,)(A A T i i λσ=.假设矩阵A 为n m ⨯矩阵,则矩阵A 可以分解为:M LA A 1=,这里L 和M 为正交矩阵,A =diag(n σσ,,1⋅⋅⋅)为对角矩阵,这里的对角元素可以满足这样的不等式关系: 021≥≥⋅⋅⋅≥≥n σσσ. 如果原矩阵A 为奇异矩阵,那么0=n σ调用格式为:S=svd (A ) (1),[L ,A 1,M ] =svd (A ) (2)式子(1)只计算矩阵的奇异值,式子(2)计算矩阵的奇异值与变换矩阵. 其中,A 为原始矩阵,返回的A 1为对角矩阵,而L 和M 均为正交变换矩阵,并满足M LA A 1=T .矩阵的奇异值的大小通常决定矩阵的性态,如果一个矩阵的奇异值变化很大,那么矩阵里的某一个元素有很小的变化将对原矩阵的参数有着很严重的影响,这样的矩阵可以称之为病态矩阵或坏条件矩阵,而奇异矩阵则是矩阵存在着趋于0的奇异值[13].例3.25 对矩阵A =⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡17341267981321513724进行奇异值分解 >> A=[4 2 7 13;5 21 13 8;9 7 6 12;4 3 7 1];[L,A1,M]=svd(A)L =-348/917 1346/2063 137/4481 555/847-309/409 -1749/2891 251/1271 277/1780-355/726 597/1318 560/5647 -563/762-184/857 -74/1321 -967/992 -364/15767A1 =6650/199 0 0 00 6031/470 0 00 0 1407/286 00 0 0 2011/496M =-235/744 191/713 -332/861 -2673/3242-626/1011 -604/923 271/674 -601/3677-41/81 -119/1571 -96/137 417/839-267/523 1591/2263 443/994 1235/5729不仅仅是方阵可以进行奇异值的分解,一个行和列不相等的矩阵也可以进行奇异值的分解.例3.26 对矩阵A =⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡971154531进行奇异值分解 >> A=[1 3;5 4;5 11;7 9];[L,A1,M]=svd(A)L =-319/1858 1324/4997 -1409/1797 -70/131-490/1439 -2483/3645 744/2959 -4229/7080-1038/1549 1814/3047 697/1630 -127/1086-910/1429 -348/1043 -918/2461 322/549A1 =3817/214 00 4093/13750 00 0M =-1590/2929 -797/949-797/949 1590/29293.2.2 用Mathematica 解决符号矩阵的复杂运算1、矩阵的逆:设A 是数域上的一个n 阶方阵,若在相同数域上存在另一个n 阶矩阵B ,使得E BA AB ==. 则称B 是A 的逆矩阵,而A 则被称为可逆矩阵.函数命为:Inverse [A ],方阵A 的逆矩阵这里A 必须为方阵,如果A 不是方阵,那矩阵没有逆矩阵例3.27 求矩阵A =⎥⎦⎤⎢⎣⎡d c b a 的逆矩阵 In[1]:= A =⎪⎪⎭⎫ ⎝⎛d c b a ;Inverse[A ] Out[1]= {{ad bc ad +-,ad bc b +-2},{ad bc c +--2,adbc ad +-}} 2、矩阵的秩:A =n m ij a ⨯)(的不为零的子式的最大阶数称为矩阵A 的秩.函数命为:matrixrank[A ],矩阵A 的秩例3.28 求矩阵A =⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡j ih f ed c ba 的秩 In[2]:= A=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡j i h f ed c ba ;MatrixRank[A]Out[2]=33、矩阵的特征值和特征向量:对于一个矩阵A 来说,如果存在一个非零向量x ,且有一个标量λ满足A x =λx ,则称λ为A 矩阵的一个特征值,而x 称为对应特征值λ的特征向量.函数命为:characteristicpolynomial [A ,x ],方阵A 的特征多项式det (A -xI ); Eigensystem [A ],方阵A 的特征值列表和特征向量列表;eigenvalues [A ],方阵A 的特。