电气工程软件训练(三) - Matlab 作业

更新时间:2024-01-15 21:16:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

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

sum2=sum2+n^n; n=n+1; end sum2 ②sum2=0; for n=1:100 sum2=sum2+n^n; end sum2

运行结果:sum2 =1.0037e+200

5 MATLAB绘图

实验目的:掌握MATLAB二维图形绘制,掌握图形属性的设置和图形修饰;掌握图像文件的读取和显示。 实验内容:①绘制图形

图1

其中x初值为0,终值为12.5,步长为0.1,第一个曲线y1为sin(个曲线y2为cos(?x6?x6),第二

)。写出图1的绘制源程序。按照以下的步骤进行(1)产生曲线

的数据(共有3组数据:x,y1,y2);(2)选择合适的线形、标记、颜色(正弦曲线为

11 / 14

红色,余弦曲线为紫色);(3)添加图例及文字说明信息;(4)添加坐标轴说明与图标题。

源程序:x=0:0.1:12.5; y1=sin(pi/6*x); y2=cos(pi/6*x); plot(x,y1,'r',x,y2,'--m') title('两曲线比较图')

x=[2/3*pi;6/3*pi]; y=[0.42;0];

s=['sin(pi/6*x)';'cos(pi/6*x)']; text(x,y,s) legend('sinx','cosx') xlabel('时间t') ylabel('幅值') grid on 运

10.80.60.40.2sin(pi/6*x)sinxcosx行结

两曲线比较图果:

幅值0-0.2-0.4-0.6-0.8-10246cos(pi/6*x)8时间t101214

②在同一窗口不同坐标系里分别绘出y1=sinx,y2=cosx,y3=cinh(x),y4=cosh(x)4个图形,其中x为以0为初值,2?为终值,元素数目为30的行向量。 源程序:x=linspace(0,2*pi,30);

y1=sin(x); y2=cos(x); y3=sinh(x); y4=cosh(x);

12 / 14

subplot(2,2,1);plot(x,y1'); subplot(2,2,2); plot(x,y2'); subplot(2,2,3); plot(x,y3'); subplot(2,2,4); plot(x,y4'); 运

10.50-0.5-1行结

10.50-0.5-1果:

0246802468300300200200100100002468002468

③绘制一个三维曲线其中x=cosp,y=sinp,z=p,p为以0为初值,20?为终值,步长 0.1?的行向量。

源程序:p=0:0.1*pi:20*pi; x=cos(p); y=sin(p); z=p; plot3(x,y,z); 运

13 / 14

80604020010.50-0.5-1-1-0.50.501

三 课程设计体会

通过这次matlab的课程设计,让我对matlab这个软件更加的熟悉,也知道了电脑软件对学习上工作上的帮助是十分的巨大的。本来自己对编写程序这些东西不是很熟练,自己也懒的去练习,认为自己不能学会,这次通过自己认真的练习,感觉自己的能力有了显著的提升。matlab自己带的函数十分的多,所以需要不断的去翻看老师给的资料和上网去查一些知识,这些都能够提高我们的熟练度,让我能进一步了解电脑编程。总之,这次学习让我对matlab更加熟悉了。

四、参考资料

MATLAB PPT

14 / 14

本文来源:https://www.bwwdw.com/article/e4ho.html

Top