
高等代数与解析几何
高等代数与解析几何

目录第一章Matlab软件介绍...第二章线性方程组的解矩阵特征值和特征向量·....9第三章二次型··13第四章多项式.·15第五章向量组的正交化·20
目 录 第一章 Matlab 软件介绍.1 第二章 线性方程组的解 矩阵特征值和特征向量.9 第三章 二次型.13 第四章 多项式.15 第五章 向量组的正交化.20

第一章Matlab软件介绍1.概述Matlab是建立在向量、数组和矩阵上的一种分析和仿真工具软件包,是集数学运算、图像处理和程序设计为一体,具有强大功能的工具箱.使用Matlab语言进行数学运算就如同在草稿纸上演算数学题一样方便,对话似的用户界面和自然化的编程语言使学者可以迅速掌握和使用本章将对Matlab软件在高等代数与解析几何中应用的主要功能和命令进行讲解.2.Matlab软件的启动直接点击Windows桌面上的Matlab图标或所有程序中点击MatlabR2014a就可以打开Matlab使用界面(图1),包含三个主要窗口:(1)命令行窗口是用户与Matlab进行交互的主要场所,在该窗口下,用户可以输入指令,输出软件运算结果.操作方法是键入一条命令后,按下【Enter】键,命令就会被执行.(2)工作区窗口用来显示内存中存储的变量及相关信息(3)文件夹窗口该窗口用以显示已保存的Matlab文件在简单的高等代数与解析几何运算中通过命令行窗口和文件夹窗口就可以解决问题例1在命令行窗口输入如下命令,并回车执行解命令如下>>P=[24-105]%生成系数向量注符号“》》”为系统默认命令提示符,符号“%”后面的文字用以解释前面输入的命令回车执行命令,在命令窗口显示如下内容P=
第一章 Matlab 软件介绍 1.概述 Matlab 是建立在向量、数组和矩阵上的一种分析和仿真工具软件包,是集 数学运算、图像处理和程序设计为一体,具有强大功能的工具箱.使用 Matlab 语言进行数学运算就如同在草稿纸上演算数学题一样方便,对话似的用户界面和 自然化的编程语言使学者可以迅速掌握和使用. 本章将对 Matlab 软件在高等代数与解析几何中应用的主要功能和命令进行 讲解. 2.Matlab 软件的启动 直接点击 Windows 桌面上的 Matlab 图标或所有程序中点击 Matlab R2014a 就可以打开 Matlab 使用界面(图 1),包含三个主要窗口: (1)命令行窗口 是用户与 Matlab 进行交互的主要场所,在该窗口下, 用户可以输入指令,输出软件运算结果.操作方法是键入一条命令后,按下 【Enter】键,命令就会被执行. (2)工作区窗口 用来显示内存中存储的变量及相关信息. (3)文件夹窗口 该窗口用以显示已保存的 Matlab 文件. 在简单的高等代数与解析几何运算中通过命令行窗口和文件夹窗口就可以 解决问题. 例 1 在命令行窗口输入如下命令,并回车执行. 解 命令如下 >>P [2 4 1 0 5] %生成系数向量 注 符号“>>”为系统默认命令提示符,符号“%”后面的文字用以解释前面 输入的命令. 回车执行命令,在命令窗口显示如下内容 P

24-105再输入如下命令>>y = poly2sym(P)%根据系数向量生成多项式回车执行命令,在命令窗口显示如下内容y=2*x^4+4*x3-x^2+5观察命令窗口、工作区窗口(图2):图 1图 23.命令行窗口中常用的命令命令窗口中常用的命令列表如下表1命令窗口中常用的命令指令含义clf清除图形窗clc清除命令窗口显示的内容clear清除Matlab工作内存中的变量who列出Matlab工作内存中保存的所有变量列出Matlab工作内存中保存的所有变量以及各变量属性whos帮助指令help有选择地保存工作内存中的变量saveload有选择地将保存过的变量调入工作内存中↑(1)向前(后)调出已输入过的指令format定义输出格式
2 4 1 0 5 再输入如下命令 y poly2sym(P) %根据系数向量生成多项式 回车执行命令,在命令窗口显示如下内容 y 2* x^4 4*x^3 x^2 5 观察命令窗口、工作区窗口(图 2). 3.命令行窗口中常用的命令 命令窗口中常用的命令列表如下 表 1 命令窗口中常用的命令 指令 含义 clf 清除图形窗 clc 清除命令窗口显示的内容 clear 清除Matlab工作内存中的变量 who 列出Matlab工作内存中保存的所有变量 whos 列出Matlab工作内存中保存的所有变量以及各变量属性 help 帮助指令 save 有选择地保存工作内存中的变量 load 有选择地将保存过的变量调入工作内存中 ↑(↓) 向前(后)调出已输入过的指令 format 定义输出格式 图 1 图 2

保证小数点后有四位有效数字formantshort用近似的有理数表示format ratdemo浏览Matlab的基本功能4.变量命名规则变量名的第一个字符必须是英文字母,变量名中不得包含空格和标点符号,一个变量名最多包含63个字符(字母、数字、下划线),变量字母区分大小写.注意Matlab软件中有如下预定义变量:计算结果的缺省变量名ans机器零阙值epsFlops浮点运算次数Inf或inf无穷大Pi圆周率元不是一个数NaN或nanRealmax (realmin)最大(小)正实数另外,在Matlab的界面窗口下点击【File】,可用Matlab语言在该窗口下编写程序,有关于程序的编辑、文件的存储、程序执行等请学者自行查阅有关书籍学习.5.基本运算符表 2 Matlab软件基本运算符Matlab运算符Matlab表达式加+a+b减-a-b乘a*b*除/或\a/b或blaAa'b幂
formant short 保证小数点后有四位有效数字 format rat 用近似的有理数表示 demo 浏览Matlab的基本功能 4.变量命名规则 变量名的第一个字符必须是英文字母,变量名中不得包含空格和标点符号, 一个变量名最多包含 63 个字符(字母、数字、下划线),变量字母区分大小写. 注意 Matlab 软件中有如下预定义变量: ans 计算结果的缺省变量名 eps 机器零阈值 Flops 浮点运算次数 Inf 或 inf 无穷大 Pi 圆周率 NaN 或 nan 不是一个数 Realmax(realmin) 最大(小)正实数 另外,在 Matlab 的界面窗口下点击【File】,可用 Matlab 语言在该窗口下 编写程序,有关于程序的编辑、文件的存储、程序执行等请学者自行查阅有关书 籍学习. 5.基本运算符 表 2 Matlab 软件基本运算符 Matlab运算符 Matlab表达式 加 + a+b 减 - a-b 乘 * a*b 除 /或\ a/b或b\a 幂 ^ a^b

6.命令行中的标点符号表3标点符号名称标点Matlab中的作用空格输入量与输入量之间、数组元素之间的分隔符逗号输入量与输入量之间、数组元素之间的分隔符句号数值运算中的小数点分号不显示计算结果命令的皆为标志;矩阵的行与行之间的分隔符冒号生成一组数值数组;单下标索引时,表示全部:元素构成的长列;多下标索引时,表示所在维上的全部元素注释号%对前面输入的命令行进行解释说明(单引号字符串标记符对[]方括号输入数组或矩阵标记符>>提示符命令窗口下输入命令提示符7.常用符号运算(1)字符串的定义Matlab软件用单引号定义字符串,例如>>zfc='MATLAB'回车执行后显示zfc=MATLAB这样zfc就是一个值等于MATLAB的字符串变量,(2)命令syms定义符号变量和符号表达式>>syms x yzt该命令表示将x,y,z,t定义成符号变量,这样在参与运算时就可以有效地出现在表达式中,否则在表达式中出现是无效变量,例如
6.命令行中的标点符号 表 3 标点符号 名称 标点 Matlab中的作用 空格 输入量与输入量之间、数组元素之间的分隔符 逗号 , 输入量与输入量之间、数组元素之间的分隔符 句号 . 数值运算中的小数点 分号 ; 不显示计算结果命令的皆为标志;矩阵的行与 行之间的分隔符 冒号 : 生成一组数值数组;单下标索引时,表示全部 元素构成的长列; 多下标索引时,表示所在维上的全部元素 注释号 % 对前面输入的命令行进行解释说明 单引号 对 ‘’ 字符串标记符 方括号 [] 输入数组或矩阵标记符 提示符 >> 命令窗口下输入命令提示符 7.常用符号运算 (1) 字符串的定义 Matlab 软件用单引号定义字符串,例如 >>zfc=’MATLAB’ 回车执行后显示 zfc=MATLAB 这样 zfc 就是一个值等于 MATLAB 的字符串变量. (2)命令 syms 定义符号变量和符号表达式 >>syms x y z t 该命令表示将 x,y,z,t 定义成符号变量,这样在参与运算时就可以有效地出现在 表达式中,否则在表达式中出现是无效变量.例如

>>symsxy>>z=2*x*y该命令执行后得z=2*x*y若在命令窗口输入>>z=2*a执行后,系统会提示未定义函数或变量a.8.常用的绘图命令8.1二维曲线的绘制(1)plot(X,‘s")当X是实向量时,则以向量元素的下标为横坐标,元素值为相应的纵坐标画出曲线.当X是实矩阵时,则按矩阵的列向量同上面的定义绘制曲线,绘制的曲线的条数等于矩阵的列数命令中的s是可选参数,用来指定绘制曲线的线型、颜色等。(3)plot(x,Y,s)绘制以向量X,Y的元素分别为横、纵坐标的曲线(4) ezplot(hs,[a,b])该命令表示绘制函数hs在区间[a,b]上的图形.例2绘制y=x3-x2-x+1在区间[-2,2]上的图形解命令如下>>ezplot(‘x 3-x~2-x+1",[-2,2])
>>syms x y >>z=2*x*y 该命令执行后得 z= 2*x*y 若在命令窗口输入 >>z=2*a 执行后,系统会提示 未定义函数或变量 'a'. 8.常用的绘图命令 8.1 二维曲线的绘制 (1)plot(X,‘s’) 当 X 是实向量时,则以向量元素的下标为横坐标,元素值为相应的纵坐标画出曲 线. 当 X 是实矩阵时,则按矩阵的列向量同上面的定义绘制曲线,绘制的曲线的条数 等于矩阵的列数. 命令中的 s 是可选参数,用来指定绘制曲线的线型、颜色等. (3)plot(X,Y,’s’) 绘制以向量 X,Y 的元素分别为横、纵坐标的曲线. (4)ezplot(hs,[a,b]) 该命令表示绘制函数 hs 在区间[a,b]上的图形. 例 2 绘制 1 3 2 y x x x 在区间 [2,2] 上的图形. 解 命令如下 >>ezplot(‘x^3-x^2-x+1’,[-2,2])

回车执行可得图3.8.2三维曲线的绘制(1)plot3(x,y,z,‘s')该命令用于绘制以x,y,z分别为横、纵、竖坐标的三维曲线例3绘制三维螺旋线x=2cost,y=2sint,z=t,te[0,10元]的图形Xxx*30er1004图4图3解命令如下>>t=0:0.1:10*pi;>>x=2*cos (t) ;>>y=2*sin(t);>>z=t;>>plot3(x,y,z)执行后显示图形图4.8.3曲面图形的绘制(1) [X,Y]=meshgrid(x,y)%用向量x和y的分量产生“格点”矩阵(2) Z=f(X,Y)%计算“格点”矩阵的每个格点处的函数值
回车执行可得图 3. 8.2 三维曲线的绘制 (1)plot3(x,y,z,‘s’) 该命令用于绘制以 x,y,z 分别为横、纵、竖坐标的三维曲线. 例 3 绘制三维螺旋线 x 2cost, y 2sin t,z t,t [0,10 ] 的图形. 解 命令如下 >>t=0:0.1:10*pi; >>x=2*cos(t); >>y=2*sin(t); >>z=t; >>plot3(x,y,z) 执行后显示图形图 4. 8.3 曲面图形的绘制 (1)[X,Y]=meshgrid(x,y) %用向量 x 和 y 的分量产生“格点”矩阵 (2)Z=f(X,Y) %计算“格点”矩阵的每个格点处的函数值 -2 -1 0 1 2 -2 -1 0 1 2 0 10 20 30 40 图 3 图 4

(3)mesh (X,Y, Z)%分别以X、Y、Z对应的元素为横、纵、竖坐标绘制网状图(4) surf (X, Y,Z)%分别以X、Y、Z对应的元素为横、纵、竖坐标绘制曲面图例4绘出曲面z=sin(xy)的网状图解程序如下>>x=-2:0.1:2;>>y=-2:0. 1:2;>>[X, Y]=meshgrid(x, y) ;>>Z=sin(X. *Y) ;>>mesh (X, Y, Z)执行后的图形(图5):图59.高等代数中常用的命令表4高等代数中常用的命令命令含义A'非共轭转置A共轭转置S*A标量s与矩阵A的每个元素相乘inv (B)矩阵B的逆矩阵A'n求矩阵A的n次幂A. n矩阵A的每个元素n次幂A+B同型矩阵的和A-B同型矩阵的差A*B矩阵A与B的乘积A. *B同型矩阵对应元素乘积A/BA右除B,相当于A右乘B的逆矩阵A\BA左除B,相当于A的逆矩阵乘以矩阵Beye (m, n)生成m行n列的单位矩阵
(3)mesh(X,Y,Z) %分别以 X、Y、Z 对应的元素为横、纵、竖坐标绘 制网状图 (4)surf(X,Y,Z) %分别以 X、Y、Z 对应的元素为横、纵、竖坐标绘 制曲面图 例 4 绘出曲面 z sin( xy) 的网状图. 解 程序如下 >>x=-2:0.1:2; >>y=-2:0.1:2; >>[X,Y]=meshgrid(x,y); >>Z=sin(X.*Y); >>mesh(X,Y,Z) 执行后的图形(图 5). 9.高等代数中常用的命令 表 4 高等代数中常用的命令 命令 含义 A. 非共轭转置 A 共轭转置 s*A 标量s与矩阵A的每个元素相乘 inv(B) 矩阵B的逆矩阵 A^n 求矩阵A的n次幂 A.^n 矩阵A的每个元素n次幂 A+B 同型矩阵的和 A-B 同型矩阵的差 A*B 矩阵A与B的乘积 A.*B 同型矩阵对应元素乘积 A/B A右除B,相当于A右乘B的逆矩阵 A\B A左除B,相当于A的逆矩阵乘以矩阵B eye(m,n) 生成m行n列的单位矩阵 图 5

ones(m, n)生成m行n列的全1矩阵zeros (m, n)生成m行n列的全零矩阵rand(m, n)生成m行n列的均匀分布随机矩阵Randn(m, n)生成m行n列的正态分布随机矩阵det (A)矩阵A的行列式isequal(A.B)比较矩阵A和B是否相等,运行结果为“1”(为真)或“0”(两矩阵不相等)rref (A)求矩阵A的行阶梯形矩阵rank (A)求矩阵A的秩solve解代数方程或方程组gcd (F, G)求多项式F和G的最大公因式factor(f)将多项式f进行因式分解expand(f)多项式展开simple将杂乱的多项式合并成常见的简单形式conv[P1, P2]两个多项式P1,P2的乘法[q, r]=deconv[P两个多项式P1,P2的带余除法1, P2]dot (a, b)向量a与b的内积cross (a, b)向量a与b的叉积trace(A)矩阵A的迹[Q, R]=qr (A)矩阵A的Q、R分解,Q为正交矩阵,R为上三角型矩阵,A=QR[U, T]=schur (A)将矩阵A正交对角化,U返回正交矩阵,T为对角形矩阵,A=U”TU[V, D]=eig(A)求矩阵A的特征向量V及相应的特征值矩阵null (A)求齐次线性方程组AX=O的基础解系练习11.画出曲线x=sin3tcost,y=sin3tsint,te[0,元]2.画出单位球x2+y?+2?=1的网状图
ones(m,n) 生成m行n列的全1矩阵 zeros(m,n) 生成m行n列的全零矩阵 rand(m,n) 生成m行n列的均匀分布随机矩阵 Randn(m,n) 生成m行n列的正态分布随机矩阵 det(A) 矩阵A的行列式 isequal(A.B) 比较矩阵A和B是否相等,运行结果为“1” (为真)或“0”(两矩阵不相等) rref(A) 求矩阵A的行阶梯形矩阵 rank(A) 求矩阵A的秩 solve 解代数方程或方程组 gcd(F,G) 求多项式F和G的最大公因式 factor(f) 将多项式f进行因式分解 expand(f) 多项式展开 simple 将杂乱的多项式合并成常见的简单形式 conv[P1,P2] 两个多项式 P1,P2 的乘法 [q,r]=deconv[P 1,P2] 两个多项式 P1,P2 的带余除法 dot(a,b) 向量 a 与 b 的内积 cross(a,b) 向量 a 与 b 的叉积 trace(A) 矩阵 A 的迹 [Q,R]=qr(A) 矩阵 A 的 Q、R 分解,Q 为正交矩阵,R 为上三角型矩阵,A=QR [U,T]=schur(A) 将矩阵 A 正交对角化,U 返回正交矩阵, T 为对角形矩阵,A=U'TU [V,D]=eig(A) 求矩阵 A 的特征向量 V 及相应的特征值 矩阵 null(A) 求齐次线性方程组 AX=0 的基础解系 练 习 1 1. 画出曲线 x t t y t t t sin 3 cos , sin 3 sin , [0, ]. 2. 画出单位球 2 2 2 x y z 1 的网状图