实验二 MATLAB数值计算实验
?
实验目的
1、了解伴随矩阵、稀疏矩阵、魔方矩阵、对角矩阵等各种矩阵的创建,掌握矩阵的基本运算
2、掌握矩阵的数组运算 3、掌握多项式的基本运算 4、会求解代数方程
? 实验基本知识
1、创建矩阵的方法:直接输入法、用MATLAB函数创建矩阵 2、矩阵运算:矩阵加、减(+,-)运算
矩阵乘()运算 矩阵乘方
inv —— 矩阵求逆 det —— 行列式的值 eig —— 矩阵的特征值 diag —— 对角矩阵 ’ —— 矩阵转置 sqrt —— 矩阵开方
3、矩阵的数组运算:
数组加减(.+,.-):对应元素相加减
数组乘():a,b两数组必须有相同的行和列,两数组相应元素相乘 数组除(./,.\\):a./b=b.\\a — 都是b的元素被a的对应元素除(a除
以b)
a.\\b=b./a — 都是a的元素被b的对应元素除(b除以a) 数组乘方(.^):元素对元素的幂
数组点积(点乘):维数相同的两个向量的点乘,其结果是一个标量 数组叉积:就是一个过两个相交向量的交点且垂直于两个向量所在平面的向量
数组混合积:先叉乘后点乘 4、多项式运算
poly —— 产生特征多项式系数向量 roots —— 求多项式的根
p=poly2str(c,‘x’)(以习惯方式显示多项式) conv,convs——多项式乘运算 deconv——多项式除运算 多项式微分
polyder(p): 求p的微分
polyder(a,b): 求多项式a,b乘积的微分 [p,q]=polyder(a,b): 求多项式a,b商的微分 5、代数方程组求解 1).恰定方程组的解
方程ax=b(a为非奇异)两种求解方法: x=inv(a)b — 采用求逆运算解方程
x=a\\b — 采用左除运算解方程
2)超定方程组的解
方程 ax=b ,m MATLAB可求出两个解:用除法求的解x是具有最多零元素的解是具有最小长度或范数的解,这个解是基于伪逆pinv求得的。 6、复数运算:复数的实虚部、模和幅角计算 real_z=real(z) image_z=imag(z) magnitude_z=abs(z) angle_z_radian=angle(z) %弧度单位 angle_z_degree=angle(z)*180/pi %度数单位 三、实验内容 1、生成一个3行3列的随机矩阵,并逆时针旋转90°,左右翻转,上下翻转。 2、已知a=[1 2 3],b=[4 5 6], 求a.\\b和a./b 3、数组和矩阵有何不同? 数组中的元素可以是字符等,矩阵中的只能是数,这是二者最直观的区别。从外观形状和数据结构上看,二维数组和数学中的矩阵没有区别。但是矩阵作为一种变换或映射算子的体现,矩阵运算有着明确而严格的数学规则。而数组运算是Matlab软件所定义的规则,其目的是为了数据管理方便、操作简单、指令形式自然和执行计算的有效。虽然数组运算尚缺乏严谨的数学推理,而且数组运算仍在完善和成熟中,但是它的作用和影响正随着matlab的发展而扩大。 4、已知a=[1 2 3;4 5 6;7 8 0],求其特征多项式并求其根。