
高等代数与解析几何

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

第一章 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

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

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 y z t 该命令表示将 x,y,z,t 定义成符号变量,这样在参与运算时就可以有效地出现在 表达式中,否则在表达式中出现是无效变量.例如

>>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 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). 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 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 的网状图