D1(
江 苏 大 学
《电气工程软件训练三》课程设计报告
设计题目: 专业班级:
MATLAB J电气1401 唐鹏
学生姓名:
学生学号: 4141127007 指导老师: 完成日期:
江苏大学京江学院
1 / 14
一 MATLAB课程设计的目的和要求
1. MATLAB软件功能简介
MATLAB的名称源自Matrix Laboratory,1984年由美国Mathworks公司推向市场。它是一种科学计算软件,专门以矩阵的形式处理数据。MATLAB将高性能的数值计算和可视化集成在一起,并提供了大量的内置函数,从而被广泛的应用于科学计算、控制系统和信息处理等领域的分析、仿真和设计工作。 MATLAB软件包括五大通用功能,数值计算功能(Nemeric)、符号运算功能(Symbolic)、数据可视化功能(Graphic)、数字图形文字统一处理功能(Notebook)和建模仿真可视化功能(Simulink)。其中,符号运算功能的实现是通过请求MAPLE内核计算并将结果返回到MATLAB命令窗口。该软件有三大特点,一是功能强大;二是界面友善、语言自然;三是开放性强。目前,Mathworks公司已推出30多个应用工具箱。MATLAB在线性代数、矩阵分析、数值及优化、数值统计和随机信号分析、电路与系统、系统动力学、次那好和图像处理、控制理论分析和系统设计、过程控制、建模和仿真、通信系统以及财政金融等众多领域的理论研究和工程设计中得到了广泛应用。 2. MATLAB课程设计的目的
本次课程设计主要是为了使学生了解MATLAB软件的基本知识,熟悉MATLAB的上机环境,掌握MATLAB数值运算、程序设计、二维/三维绘图、符号运算、Simulink仿真等相关知识,并初步具备将一般数学问题转化为对应的计算机进行处理的能力,以便为今后进一步的学习打下坚定基础。
二 MATLAB课程内容
1 MATLAB语言基础
实验目的:基本掌握 MATLAB 向量、 矩阵、 数组的生成及其基本运算(区分数组运算和矩阵运算)、常用的数学函数。了解字符串的操作。 实验内容:
① 创建以下矩阵:A为初值为1,终值为12,元素数目为6的行向量;
2 / 14
?2?1B???2??1436??532?;C为B的三次方矩阵;D由B和C横向拼接并去除第一列、
779??235?最后一列和第一行元素而成;E由B和C纵向拼接而成;F抽取E的3~5行和第2~3列元素生成;G由F经变形为3×4的矩阵而得;H由B和C数组相乘运算而成,同时将 H(1,1)和H(2,1)分别变为π的平方和立方,H(2,2)=arccos(2),H(3,3)= H(1,1)+ H(2,1)。 源程序:A=linspace(1,12,6)
B=[2,4,3,6;1,5,3,2;2,7,7,9;1,2,3,5]; C=B^3 D1=[B,C]; D=D1(2:4,2:7) E=[B;C] F=E(3:5,2:3)
G=reshape(F,3,2) H=B*C
H(1,1)=pi^2; H(2,1)=pi^3; H(2,2)=acos(2); H(3,3)=H(1,1)+H(2,1)
运行结果:A = 1.0000 3.2000 5.4000 7.6000 9.8000 12.0000 C =292 938 873 1140 227 751 681 868 518 1675 1555 2021 227 724 681 895
D =5 3 2 227 751 681
7 7 9 518 1675 1555 2 3 5 227 724 681 E =2 4 3 6 1 5 3 2 2 7 7 9 1 2 3 5 292 938 873 1140 227 751 681 868 518 1675 1555 2021
3 / 14
227 724 681 895 F =7 7 2 3 938 873 G =7 7 2 3 938 873
H =4408 14249 13221 17185 3435 11166 10305 13333 7842 25374 23527 30558 3435 11085 10305 13414 H = 1.0e+004 *
0.0010 1.4249 1.3221 1.7185 0.0031 0 + 0.0001i 1.0305 1.3333 0.7842 2.5374 0.0041 3.0558 0.3435 1.1085 1.0305 1.3414 ② (1)用矩阵除法求下列方程组的解 x=[x1;x2;x3];
?6x1?3x2?4x3?3???2x1?5x2?7x3??4 ?8x?x?3x??7123?(2) 求矩阵的秩(rank函数);
(3) 求矩阵的特征值与特征向量(eig函数); (4) 系数矩阵的3次幂与开方;
(5) 系数矩阵的指数运算和数组对数运算;
(6) 系数矩阵a(1,2)、a(1,3)、a(2,2)、a(2,3)的元素不变,其余元素变为零。 (7) 提取系数矩阵主对角线上的元素,并依次相加赋予b。 源程序:A=[6,3,4;-2,5,7;8,-1,-3];B=[3;-4;-7];X=inv(A)*B rank(A) [v,d]=eig(A) A1=A^3 A2=sqrt(A) A3=expm(A)
4 / 14
A4=logm(A)
A(:,1)=0;A(3,:)=0 运行结果: X =1.0200 -14.0000 9.7200 ans =3
v =0.8013 -0.1094 -0.1606 0.3638 -0.6564 0.8669 0.4749 0.7464 -0.4719 d =9.7326 0 0 0 -3.2928 0 0 0 1.5602 A1 =578 298 352 228 156 202 384 154 156
A2 =2.4495 1.7321 2.0000 0 + 1.4142i 2.2361 2.6458 2.8284 0 + 1.0000i 0 + 1.7321i A3 =1.0e+004 *
1.0653 0.5415 0.6323 0.4830 0.2465 0.2876 0.6316 0.3206 0.3745
A4 =1.7129 + 0.4686i 0.5305 - 0.2425i 0.5429 - 0.6049i 1.1938 + 2.8123i 0.3658 - 1.4552i -0.5514 - 3.6305i -0.0748 - 3.1978i 0.7419 + 1.6546i 1.8333 + 4.1282i A =0 3 4 0 5 7 0 0 0 2 MATLAB数值运算
实验目的:掌握 MATLAB 的数值运算及其运算中所用到的函数,掌握结构数组的操作。 实验内容:
① 已知多项式a(x)=x2+2x+3;b(x)=4x2+5x+6
(1) 求多项式a(x)和多项式b(x)的乘法运算结果,并在命令窗口中显示该多项式c; (2) 求多项式c的根及其微分; 源程序:p1=[1,2,3];p2=[4,5,6]; p=conv(p1,p2);c=poly2sym(p) roots(p)
5 / 14