D1(
江 苏 大 学
《电气工程软件训练三》课程设计报告
设计题目: MATLAB ??
专业班级: ? J电气1401 ? 学生姓名: ? 唐鹏
??
学生学号:? 4141127007 ?
??
指导老师:?? ? ?
完成日期:? ? ??
江苏大学京江学院
一 MATLAB课程设计得目得与要求
1. MATLAB软件功能简介
MATLAB得名称源自Matrix Laboratory,1984年由美国Mathworks公司推向市场。它就是一种科学计算软件,专门以矩阵得形式处理数据。MATLAB将高性能得数值计算与可视化集成在一起,并提供了大量得内置函数,从而被广泛得应用于科学计算、控制系统与信息处理等领域得分析、仿真与设计工作。 M
?
ATLAB软件包括五大通用功能,数值计算功能(Nemeric)、符号运算功能(Symbolic)、数据可视化功能(Graphic)、数字图形文字统一处理功能(Notebook)与建模仿真可视化功能(Simulink)。其中,符号运算功能得实现就是通过请求MAPLE内核计算并将结果返回到MATLAB命令窗口。该软件有三大特点,一就是功能强大;二就是界面友善、语言自然;三就是开放性强。目前,Mathworks公司已推出30多个应用工具箱。MATLAB在线性代数、矩阵分析、数值及优化、数值统计与随机信号分析、电路与系统、系统动力学、次那好与图像处理、控制理论分析与系统设计、过程控制、建模与仿真、通信系统以及财政金融等众多领域得理论研究与工程设计中得到了广泛应用。 2. MATLAB课程设计得目得
本次课程设计主要就是为了使学生了解MATLAB软件得基本知识,熟悉MATLAB得上机环境,掌握MATLAB数值运算、程序设计、二维/三维绘图、符号运算、Simulink仿真等相关知识,并初步具备将一般数学问题转化为对应得计算机进行处理得能力,以便为今后进一步得学习打下坚定基础。
二 MATLAB课程内容
1 MATLAB语言基础
实验目得:基本掌握 MATLAB 向量、 矩阵、 数组得生成及其基本运算(区分数组运算与矩阵运算)、常用得数学函数。了解字符串得操作。 实验内容:
① 创建以下矩阵:A为初值为1,终值为12,元素数目为6得行向量;;C为B得三次方矩阵;D由B与C横向拼接并去除第一列、最后一列与第一行元素而成;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 227 724 D =5 3 681 7 1675 1555
2 724 681
E =2 4 1 5 2 7 1 2 292 938 227 751 518 1675 227 724 F =7 7 2 3 938 873 G =7 7 2 3 938 873
H =4408 14249 3435 11166 1555 681 2 7 3 3 3 7 3 873 681 1555 681 13221 10305 2021 895
227 9 5 6 2 9 5 140 868 2021 895 17185 13333
751 518 227
1 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];
(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) 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) c2=diff(c)
运行结果:c =4*x^4+13*x^3+28*x^2+27*x+18 ans =-1、0000 + 1、4142i