当前位置:文档之家› 太原理工大学MATLAB实验报告

太原理工大学MATLAB实验报告

太原理工大学MATLAB实验报告
太原理工大学MATLAB实验报告

说明:这只是报告的雏形!分享智慧,分享经验,仅供参考,欢迎交流,切勿Ctrl+C and Ctrl+V

本科实验报告

课程名称:MATLAB及在电子信息工程中应用

实验项目:MATLAB实验指导书二.三.四

实验地点:中区图书馆起点机房

专业班级:信息1102班学号:

学生姓名:李政洁

指导教师:李鸿燕

2013年 5 月26 日

实验二矩阵和数组的操作

一.实验环境

MATLAB2012a

二.实验目的

1.掌握矩阵和数组的一般操作。

2.学习矩阵和数组的加减运算与乘法。

3.掌握对数组中的元素的寻访与赋值,会对数组进行一般的操作。

三.实验内容

% 1.创建一个5X5矩阵,提取主对角线以上部分

A=[1:5;2 4 6 8 10;3:2:11;linspace(1,6,5);11 ,12, 13, 14,15]

A =

1.0000

2.0000

3.0000

4.0000

5.0000

2.0000 4.0000 6.0000 8.0000 10.0000

3.0000 5.0000 7.0000 9.0000 11.0000

1.0000

2.2500

3.5000

4.7500 6.0000

11.0000 12.0000 13.0000 14.0000 15.0000

%在矩阵A的创建中,太原理工大学信息学院李政洁一次性演示了多种创建方式的混合使用。。。。

B=triu(A)

B =

1.0000

2.0000

3.0000

4.0000

5.0000

0 4.0000 6.0000 8.0000 10.0000

0 0 7.0000 9.0000 11.0000

0 0 0 4.7500 6.0000

0 0 0 0 15.0000

%矩阵B为提取了主对角线及以上元素,但B不符合题目要求,于是李政洁在下面将使用triu(A,1)

C=triu(A,1)

C =

0 2 3 4 5

0 0 6 8 10

0 0 0 9 11

0 0 0 0 6

0 0 0 0 0

% OK,至此,李政洁同学完成了第一题,A,C分别为所求矩阵。

% 2.计算三个指定矩阵相乘

D=rand(3)

D =

0.8147 0.9134 0.2785

0.9058 0.6324 0.5469

0.1270 0.0975 0.9575

E=magic(3)

E =

8 1 6

3 5 7

4 9 2

F=rand(3,4)

F =

0.9649 0.9572 0.1419 0.7922

0.1576 0.4854 0.4218 0.9595

0.9706 0.8003 0.9157 0.6557

G=D*E*F

G =

22.7418 23.2308 15.6399 23.5486

22.9828 23.9760 15.4310 24.7855

9.6742 12.0883 7.6995 15.1322

% OK,至此,李政洁完成了第二题,下面我们快乐的开始第三题吧!

% 3.创建一个3X3矩阵,并求其转置,逆矩阵

H=magic(3)

H =

8 1 6

3 5 7

4 9 2

%为了快速创建,李同学使用了函数magic();

I=H'

I =

8 3 4

1 5 9

6 7 2

% I为所创建矩阵的转置

J=inv(H)

J =

0.1472 -0.1444 0.0639

-0.0611 0.0222 0.1056

-0.0194 0.1889 -0.1028

% J为所创建矩阵H的逆矩阵

% OK,至此,政洁完成了第三题,进入下一题

% 4.用两种方法求Ax=b的解(A为四阶随机矩阵,b为四阶行向量)

A1=rand(4)

A1 =

0.0357 0.7577 0.1712 0.0462

0.8491 0.7431 0.7060 0.0971

0.9340 0.3922 0.0318 0.8235

0.6787 0.6555 0.2769 0.6948

b1=[1 2 3 4]'

b1 =

1

2

3

4

%法一

x1=inv(A1)*b1

x1 =

-2.3797

-0.0513

4.8988

6.1774

%法二

x2=A1\b1

x2 =

-2.3797

-0.0513

4.8988

6.1774

%x1==x2,这也验证了方法的正确性,李政洁同学圆满完成老师这道题要考察

%的内容!!!

% 5.创建一个随机矩阵,计算A的立方

K=rand(4)

K =

0.3171 0.3816 0.4898 0.7547

0.9502 0.7655 0.4456 0.2760

0.0344 0.7952 0.6463 0.6797

0.4387 0.1869 0.7094 0.6551

L=K^3

L =

1.7085

2.1869 2.4099 2.4405

2.3205 2.7714

3.0098 3.0553

2.0843 2.6034 2.7182 2.7732

1.7565

2.2160 2.4594 2.4274

% ok,这也是一个简单的操作,做下一个吧。。

% 6.求100-999之间能被21整除的数的个数

M=100:999;%数太多了,就不显示了

N=find(rem(M,21)==0);

O=length(N)

O =

43

%M:100-999之间整数组成的一维数组或者可以说是一个行向量

%N:M中能被21整除的数的下标

%0:这些下标的个数,亦为数组中能被21整除的数的个数%下面我要做第七题了

% 7.设有矩阵A,B,求C=AXB,将右下角3X2子矩阵赋给D P=1:25;

A3=reshape(P,5,5)

A3 =

1 6 11 16 21

2 7 12 17 22

3 8 13 18 23

4 9 14 19 24

5 10 15 20 25

A3=A3'

A3 =

1 2 3 4 5

6 7 8 9 10

11 12 13 14 15

16 17 18 19 20

21 22 23 24 25

%政洁同学使用维数重组和转置快速完成了题目所设定矩阵的创建

B3=[3 0 16;17 -6 9;0 23 -4;9 7 0;4 13 11]

B3 =

3 0 16

17 -6 9

0 23 -4

9 7 0

4 13 11

%A3 ,B3分别题目中的A,B,我这么做是想是同一报告中不要总是出现A,B

C3=A3*B3

C3 =

93 150 77

258 335 237

423 520 397

588 705 557

753 890 717

D3=tril(C3,-2)

D3 =

0 0 0

0 0 0

423 0 0

588 705 0

753 890 717

%至此,李政洁完成了第七题,哈哈^-^

%^—^太原理工电子信息工程1102班李政洁^-^

%至此,完成《实验二矩阵和数组的操作》。。

diary

四.实验说明

我在MATLAB2012a中完成实验二矩阵和数组的操作,

在这个过程中,我使用了diary命令将我在实验过程中的数据记录,操作记录,心得体会全部保存到指定文档并有了如上的实验。

实验三MATLAB绘图

一.实验环境

MATLAB2012a

二.实验目的

1.掌握MATLAB的基本绘图命令

2.掌握运用MATLAB绘制一维,二维,三维图形的方法

3.绘图加以修饰

三.实验内容

(一)书本实例

1.创建一个5X5魔方矩阵,并画出这个矩阵的图形

代码:

%太原理工大学信息学院电子信息工程1102班李政洁

%实验三实验内容和步骤

A=magic(5);

plot(A);

title('magic(5) by LZJ')

图形:

magic(5) by LZJ

1 1.5

2 2.5

3 3.5

4 4.55

2.在同一坐标轴绘制sin(x),cos(x)两条曲线

代码:

x=linspace(0,2*pi,50);

y=sin(x);

plot(x,y)

title('sin and cos by LZJ')

hold on

z=cos(x);

plot(x,z)

hold off

图形:

sin and cos by LZJ

01234567

3.画出y=x^2,-5

代码:

x=linspace(-5,5,100);

y=x.^2;

plot(x,y)

hold on

z=x.^(1/3);

plot(x,z,'g--')

title('y=x^2 and y=x^(1/3) by LZJ')

hold off

图形:

y=x2 and y=x(1/3) by LZJ

-5-4-3-2-1012345

4.在同一窗口,不同坐标系里分别绘出

sin(x),cos(x),sinh(x),cosh(x)

代码:

x=linspace(0,2*pi,30);

subplot(2,2,1);plot(x,sin(x));

subplot(2,2,2);plot(x,cos(x));

subplot(2,2,3);plot(x,sinh(x));

subplot(2,2,4);plot(x,cosh(x));

title('4 subplot by LZJ')

图形:

5.绘制一个三维曲线cos(p),sin(p),p

5.绘制一个三维曲线cos(p),sin(p),p

5.绘制一个三维曲线cos(p),sin(p),p

5.绘制一个三维曲线cos(p),sin(p),p 代码:

p=0:pi/10:20*pi; plot3(cos(p),sin(p),p)

title('plot3(cos(p),sin(p),p) by LZJ')

图形:

plot3(cos(p),sin(p),p) by LZJ

(二)书本练习

1.画出横坐标在(-15,15)上的函数y=cos(x)的曲线

代码:

x=linspace(-15,15,1000); y=cos(x);

2

4

6

8

2

4

6

8

024*******

4 subplot by LZJ

plot(x,y)

axis([-15.1 15.1 -1.1 1.1]) title('cos(x) by LZJ')

图形:

-15

-10

-5

5

10

15

-1-0.8-0.6-0.4-0.200.20.40.60.81cos(x) by LZJ

2.用图形表示离散函数y=|(n-6)|^(-1),并加入网格 代码2.1:

%2 用图形表示离散函数y=|(n-6)|^(-1)

n=-10:15;

y2=1./(abs(n-6)+eps); stem(n,y2,'fill')

title(' y2=1./(abs(n-6)+eps) by LZJ') axis([-11 16 -0.1 1.2 ]) ylabel('限制坐标')

图形2.1:

代码2.2:

n=-10:15;

y4=1./abs(n-6); plot(n,y4)

title(' y4=1./abs(n-6) by LZJ') axis([-11 16 -0.1 1.2 ]) ylabel('限制坐标') grid on

图形2.2:

-10

-5

5

10

15

00.2

0.4

0.6

0.8

1

y2=1./(abs(n-6)+eps) by LZJ

限制坐标

-10

-5

5

10

15

00.2

0.4

0.6

0.8

1

限制坐标

3. 绘制y=sin(t)*sin(9t)及其包络线 代码:

t=linspace(-pi,pi,100); y=sin(t).*sin(9*t); plot(t,y)

title('y=sin(t)*sin(9t) by LZJ') hold on plot(t,sin(t)) plot(t,-sin(t))

图形:

-4

-3

-2

-1

1

2

3

4

-1-0.8-0.6-0.4-0.200.20.40.60.81

四.实验说明

我在MATLAB2012a 中完成实验三 MATLAB 绘图,在这个过程中,我使用了diary 命令将我在实验过程中的数据记录,操作记录,心得体会全部保存到指定文档,还使用了Word2007随时记录我的图形。在实验的过程中,我反复探索,对程序小小改动,这样改一下那样改一下,记录了很多的图形及代码,但为了保持实验报告的简洁易读,我省去了这些实验过程中的记录。同时,为了保护知识产权,我在图形的title 上加了‘by LZJ ’,LZJ 既李政洁的拼音首写字母简写。

实验四M文件的编写

一.实验环境

MATLAB2012a

二.实验目的

1.学习MATLAB中的关系运算和逻辑运算,掌握它们的表达式和用法。

2.掌握MATLAB中的循环结构。

3.学会用MATLAB进行M文件的编写和调用。

二.实验内容

(一)课本实例

1.创建一个矩阵,用函数all和any作用于该矩阵,比较结果代码及结果:

a=[1 2 0 3;2 0 1 4]

a =

1 2 0 3

2 0 1 4

b=all(a)

b =

1 0 0 1

c=any(a)

c =

1 1 1 1

d=all(b)

d =

e=any(b)

e =

1

2.编写一个switch语句,判断输入输出的奇偶性

M文件代码:

n=input('n=');

switch mod(n,2)

case 1

A='奇数'

case 0

A='偶数'

otherwise

A='空'

End

Command windows运行结果:

n=7

A =

奇数

3.编写一个程序画出下列分段函数所表示的曲面,并用M文件存储

M文件代码:

%编写一个函数画出指定函数所表示的曲面

a=2;b=2;

clf;

x=-a:0.1:a;y=-b:0.1:b;

for i=1:length(y)

for j=1:length(x)

if x(j)+y(i)>1

f(i,j)=0.5457*exp(-0.75*y(i)^2-3.75*x(j)^2-1.5*x(j));

else if x(j)+y(i)<=-1

f(i,j)=0.5475*exp(-0.75*y(i)^2-3.75*x(j)^2+1.5*x(j));

else f(i,j)=0.7575*exp(-y(i)^2-6*x(j)^2);

end

end

end

end

axis([-a a,-b,b,min(min(f)),max(max(f))]); colormap(flipud(winter)); surf(x,y,f);

title('f(i,j) by LZJ')

图形:

-2

2

f(i,j) by LZJ

(二)练习

1.编写一个程序计算N 的阶乘 M 文件代码:

%太原理工大学信息学院信息1102班李政洁 %计算阶乘

function f=exp_jiecheng(n) f=1;

while n~=0; f=f*n; n=n-1;

end

运行演示:

>> exp_jiecheng(7)

ans =

5040

2.编写一个程序求出阶乘大于或等于99^99的最小整数。

M文件代码:

%太原理工大学信息学院信息1102班李政洁

%计算使阶乘大于等于99^99的n最小值

for n=110:125;

fjiecheng=exp_jiecheng(n);

if fjiecheng>=99^99

n

break;

end

end

四.实验说明

我在MATLAB2012a中完成实验四M文件的编写,在这个过程中,我使用了diary命令将我在实验过程中的数据记录,操作记录,心得体会全部保存到指定文档并且使用Word2007记录图形。同时,为了保护知识产权,我在图形的title上加了‘by LZJ’,LZJ既李政洁的拼音首写字母简写。

太原理工大学计算机网络实验报告

本科实验报告 课程名称:计算机网络B 实验地点:行勉楼 专业班级:学号 学生姓名: 指导教师: 实验成绩: 2016年 6 月 14 日

实验3 VLAN基本配置 一、实验目的 掌握交换机上创建VLAN、分配静态VLAN成员的方法。 二、实验任务 1、配置两个VLAN:VLAN 2和VLAN 3并为其分配静态成员。 2、测试VLAN分配结果。 三、实验设备 Cisco交换机一台,工作站PC四台,直连网线四条,控制台电缆一条。 四、拓扑结构 五、实验结果 PC0到PC1 想通 PC0到PC2 不通,不在相同VLAN PC2到PC3 不通,网段不同。 Switch#sh run Building configuration... Current configuration : 1127 bytes ! version 12.1 no service timestamps log datetime msec no service timestamps debug datetime msec no service password-encryption ! hostname Switch ! ! spanning-tree mode pvst ! interface FastEthernet0/1

! interface FastEthernet0/2 switchport access vlan 2 ! interface FastEthernet0/3 switchport access vlan 2 ! interface FastEthernet0/4 switchport access vlan 2 ! interface FastEthernet0/5 switchport access vlan 3 ! interface FastEthernet0/6 switchport access vlan 3 ! interface FastEthernet0/7 switchport access vlan 3 ! 六、实验心得 输入容易出现错误。重复输入次数多。

太原理工大学软件工程《数据结构实验报告4-查找》

本科实验报告 课程名称:数据结构B 实验项目:查找 实验地点:行勉楼C214 专业班级:软件XXX班学号:2014XXXX 学生姓名:xxxxx 指导教师:牛之贤张润梁 2016年 1 月 1 日

void insertBST(BiTree *bt, BiTree s) { if (*bt == NULL) *bt = s; else if (s->data.key<(*bt)->data.key) insertBST(&((*bt)->lchild), s); else if (s->data.key>(*bt)->data.key) insertBST(&((*bt)->rchild), s); } main() { char ch; KeyType key; BiTree bt, s; int i = 0; printf("请输入元素:\n"); scanf("%d", &key); bt = NULL; while (key != -1) { s = (BiTree)malloc(sizeof(BiTNode)); (s->data).key = key; s->lchild = s->rchild = NULL; insertBST(&bt, s); scanf("%d", &key); } do { printf("输入你想要查找的元素:"); scanf("%d", &key); s = searchBST(bt, key); if (s != NULL) printf("成功! 这个等价元素是 %d.\n", s->data.key); else printf("没有找到!\n"); printf("是否继续查找?(y/n):"); scanf("%c", &ch); ch = getchar(); } while (ch == 'y' || ch == 'Y'); getchar(); } 4.2#include int b_search(int *p, int l, int r, int key); int main() { int a[10] = { 1,2,3,4,5,6,7,8,9,10 }; int i, p, k; for (i = 0; i < 10; i++) { printf("a[%d]=%d\n", i, a[i]); } for (i = 0; i<2; i++) {

MATLAB实验报告50059

实验一MATLAB操作基础 实验目的和要求: 1、熟悉MATLAB的操作环境及基本操作方法。 2、掌握MATLAB的搜索路径及设置方法。 3、熟悉MATLAB帮助信息的查阅方法 实验内容: 1、建立自己的工作目录,再设置自己的工作目录设置到MA TLAB搜索路径下,再试 验用help命令能否查询到自己的工作目录。 2、在MA TLAB的操作环境下验证课本;例1-1至例1-4,总结MATLAB的特点。 例1-1

例1-2 例1-3 例1-4

3、利用帮助功能查询inv、plot、max、round等函数的功能。 4、完成下列操作: (1)在matlab命令窗口输入以下命令: x=0:pi/10:2*pi; y=sin(x); (2)在工作空间窗口选择变量y,再在工作空间窗口选择回绘图菜单命令或在工具栏中单击绘图命令按钮,绘制变量y的图形,并分析图形的含义。

5、访问mathworks公司的主页,查询有关MATLAB的产品信息。 主要教学环节的组织: 教师讲授实验目的、开发环境界面、演示实验过程,然后同学上机练习。 思考题: 1、如何启动与退出MA TLAB集成环境? 启动: (1)在windows桌面,单击任务栏上的开始按钮,选择‘所有程序’菜单项,然后选择MA TLAB程序组中的MA TLABR2008b程序选项,即可启动 MATLAB系统。 (2)在MA TLAB的安装路径中找到MA TLAB系统启动程序matlab.exe,然后运行它。 (3)在桌面上建立快捷方式后。双击快捷方式图标,启动MA TLAB。 退出: (1)在MA TLAB主窗口file菜单中选择exitMATLAB命令。 (2)在MA TLAB命令窗口中输入exit或quit命令。 (3)单击MATLAB主窗口的关闭按钮。 2、简述MATLAB的主要功能。 MATLAB是一种应用于科学计算领域的数学软件,它主要包括数值计算和符 号计算功能、绘图功能、编程语言功能以及应用工具箱的扩展功能。 3、如果一个MATLAB命令包含的字符很多,需要分成多行输入,该如何处理?

太原理工大学计算机网络实验报告

本科实验报告 课程名称:计算机网络B 实验地点:行勉楼 专业班级:学号 学生姓名: 指导教师: 实验成绩: 2016年 6 月14 日

实验3 VLAN基本配置 一、实验目的 掌握交换机上创建VLAN、分配静态VLAN成员的方法。 二、实验任务 1、配置两个VLAN:VLAN 2和VLAN 3并为其分配静态成员。 2、测试VLAN分配结果。 三、实验设备 Cisco交换机一台,工作站PC四台,直连网线四条,控制台电缆一条。 四、拓扑结构 五、实验结果 PC0到PC1 想通 PC0到PC2 不通,不在相同VLAN PC2到PC3 不通,网段不同。 Switch#sh run Building configuration... Current configuration : 1127 bytes ! version 12.1 no service timestamps log datetime msec no service timestamps debug datetime msec no service password-encryption ! hostname Switch ! ! spanning-tree mode pvst ! interface FastEthernet0/1

! interface FastEthernet0/2 switchport access vlan 2 ! interface FastEthernet0/3 switchport access vlan 2 ! interface FastEthernet0/4 switchport access vlan 2 ! interface FastEthernet0/5 switchport access vlan 3 ! interface FastEthernet0/6 switchport access vlan 3 ! interface FastEthernet0/7 switchport access vlan 3 ! 六、实验心得 输入容易出现错误。重复输入次数多。

太原理工大学web实验报告资料

本科实验报告 课程名称:Web开发实用技术基础 实验项目:HTML语言 网页程序设计Javascript Request与Response对象的应用 Application与Session对象的应用 实验地点:实验室211 专业班级:学号: 学生姓名: 指导教师: 2015年11月5日

学院名称学号实验成绩 学生姓名专业班级实验日期 课程名称Web开发实用技术基础实验题目HTML语言 一.实验目的和要求 1.掌握常用的HTML语言标记; 2.利用文本编辑器建立HTML文档,制作简单网页。 3.独立完成实验。 4.书写实验报告书。 二.实验内容 1.在文本编辑器“记事本”中输入如下的HTML代码程序,以文件名sy1.html保存,并在浏览器中运行。(请仔细阅读下列程序语句,理解每条语句的作用) 源程序清单如下: Example

welcome to you


A simple HTML document

Welcome to the world of HTML This is a simple HTML document.It is to give you an outline of how to write HTML file and how the markup tags work in the HTML file Following is three chapters
Following is items of the chapter two

太原理工大学多媒体实验报告

本科实验报告 课程名称:多媒体技术与应用 实验项目:《多媒体技术与应用》课程实验实验地点:思贤楼1108 专业班级:学号:201200 学生姓名: 指导教师:廖丽娟 2015年12月6日

太原理工大学学生实验报告

4)Rm格式 Rm是RealMedia文件的简称。 Real Networks公司所制定的音频视频压缩规范称为RealMedia,是目前在Internet上相当流行的跨平台的客户/服务器结构多媒体应用标准,它采用音频/视频流和同步回放技术来实现在Intranet上全带宽地提供最优质的多媒体,同时也能够在Internet上以28.8Kbps的传输速率提供立体声和连续视频。 4.硬件准备 目前,多媒体计算机中的音频处理工作主要借助声卡,从对声音信息的采集、编辑加工,直到声音媒体文件的回放这一整个过程都离不开声卡。声卡在计算机系统中的主要作用是声音文件的处理、音调的控制、语音处理和提供MIDI接口功能等。 进行录制音频信号所需的硬件除了声卡,还有麦克风、音箱以及外界的音源信号设备(如CD唱机、录音机等),把麦克风、音箱、外界音源信号设备与声卡正确连接完成硬件准备工作。 【实验步骤】 1.准备一段语音文件,本次实验使用机器猫的一段无音乐文件,文件名为机器猫.wav使用声音编辑软件(如Cool Edit)导入该语音素材: 2.使用“另存为”命令分别以A/mu-Law Wave、Microsoft ADPCM、PM3格式进行保存。将各种格式的语音文件的声音参数(如采样频率、量化精度、压缩算法、压缩前后的数据量等)以表格的形式记录: 采样频率量化精度压缩前压缩后压缩率A/mu-Law 44.1K/hz 8位 1.56 MB 218K 13% Wave Microsoft 44.1K/hz 4位 1.56 MB 402K 25% ADPCM PM344.1K/hz 1.56 MB 799K 50% 3.使用声音编辑软件(如Cool Edit)对语音进行降低噪声处理的方法:首先,导入要处理的波形文件,在单轨编辑区内,点击波形水平放大按钮将波形水平放大,找出一段适合用来作噪声的采样波形,选中采样波形,单击鼠标右键,在弹出的菜单中

matlab实验报告

实验一小球做自由落体运动内容:一小球竖直方向做自由落体,并无损做往返运动。程序: theta=0:0.01:2*pi x=cos(theta) y=sin(theta) l=1 v=1 while l<10 for t=1:10 y=y+(-1)^l*v*t plot(x,y,[-1,1],[-56,2],'.') axis equal pause(0.1) end l=l+1 end 结果:

-50 -40 -30 -20 -10 收获:通过运用小球自由落体规律,及(-1)^n 来实现无损往 返运动! 实验二 旋转五角星 内容:一个五角星在圆内匀速旋转 程序:x=[2 2 2 2 2 2] y=[0 4/5*pi 8/5*pi 2/5*pi 6/5*pi 0] y1=2*sin(y) x1=2*cos(y) theta=0:4/5*pi:4*pi

x2=2*cos(theta) y2=2*sin(theta) plot(x,y,x1,y1,x2,y2) axis equal theta1=theta+pi/10 x2=2*cos(theta1) y2=2*sin(theta1) plot(x2,y2) axis equal theta=0:4/5*pi:4*pi for rot=pi/10:pi/10:2*pi x=2*cos(theta+rot) y=2*sin(theta+rot) plot(x,y) pause(0.1) end 结果:

-2 -1.5-1-0.500.51 1.52 -2-1.5-1-0.500.511.5 2 收获:通过theta1=theta+pi/10,我们可以实现五角星在圆内匀速 旋转! 实验三 转动的自行车 内容:一辆自行车在圆内匀速转动 程序:x=-4:0.08:4; y=sqrt(16-x.^2); theta1=-pi/2:0.01*pi:3*pi/2; x3=0.5*cos(theta1); y3=0.5*sin(theta1); theta=-pi/2+0.02*pi for k=1:100

2014太原理工大学C++实验报告

本科实验报告 课程名称:C++面向对象程序设计 实验项目:C++语言编程 实验地点:明向校区 专业班级:软件1431 学号:201400XXXX 学生姓名:白建兴 指导教师:崔晓红 2015年5月10日

1.运行例题程序: #include using namespace std; void fn1(int z=5); int x=1,y=2; int main() { cout<<"Begin. . ."<>p[i]; if(p[i]>0) plus++; else if(p[i]!=0) minus++; } cout<<"正数的个数:"<

MATLAB实验报告(1-4)

信号与系统MATLAB第一次实验报告 一、实验目的 1.熟悉MATLAB软件并会简单的使用运算和简单二维图的绘制。 2.学会运用MATLAB表示常用连续时间信号的方法 3.观察并熟悉一些信号的波形和特性。 4.学会运用MATLAB进行连续信号时移、反折和尺度变换。 5.学会运用MATLAB进行连续时间微分、积分运算。 6.学会运用MATLAB进行连续信号相加、相乘运算。 7.学会运用MATLAB进行连续信号的奇偶分解。 二、实验任务 将实验书中的例题和解析看懂,并在MATLAB软件中练习例题,最终将作业完成。 三、实验内容 1.MATLAB软件基本运算入门。 1). MATLAB软件的数值计算: 算数运算 向量运算:1.向量元素要用”[ ]”括起来,元素之间可用空格、逗号分隔生成行向量,用分号分隔生成列向量。2.x=x0:step:xn.其中x0位初始值,step表示步长或者增量,xn 为结束值。 矩阵运算:1.矩阵”[ ]”括起来;矩阵每一行的各个元素必须用”,”或者空格分开; 矩阵的不同行之间必须用分号”;”或者ENTER分开。2.矩阵的加法或者减法运算是将矩阵的对应元素分别进行加法或者减法的运算。3.常用的点运算包括”.*”、”./”、”.\”、”.^”等等。 举例:计算一个函数并绘制出在对应区间上对应的值。

2).MATLAB软件的符号运算:定义符号变量的语句格式为”syms 变量名” 2.MATLAB软件简单二维图形绘制 1).函数y=f(x)关于变量x的曲线绘制用语:>>plot(x,y) 2).输出多个图像表顺序:例如m和n表示在一个窗口中显示m行n列个图像,p表 示第p个区域,表达为subplot(mnp)或者subplot(m,n,p) 3).表示输出表格横轴纵轴表达范围:axis([xmax,xmin,ymax,ymin]) 4).标上横轴纵轴的字母:xlabel(‘x’),ylabel(‘y’) 5).命名图像就在subplot写在同一行或者在下一个subplot前:title(‘……’) 6).输出:grid on 举例1: 举例2:

参考答案Matlab实验报告

实验一 Matlab基础知识 一、实验目的: 1.熟悉启动和退出Matlab的方法。 2.熟悉Matlab命令窗口的组成。 3.掌握建立矩阵的方法。 4.掌握Matlab各种表达式的书写规则以及常用函数的使 用。 二、实验内容: 1.求[100,999]之间能被21整除的数的个数。(rem) 2.建立一个字符串向量,删除其中的大写字母。(find) 3.输入矩阵,并找出其中大于或等于5的元素。(find) 4.不采用循环的形式求出和式 63 1 2i i= ∑ 的数值解。(sum) 三、实验步骤: ●求[100,199]之间能被21整除的数的个数。(rem) 1.开始→程序→Matlab 2.输入命令: ?m=100:999; ?p=rem(m,21); ?q=sum(p==0) ans=43 ●建立一个字符串向量,删除其中的大写字母。(find) 1.输入命令:

?k=input('’,’s’); Eie48458DHUEI4778 ?f=find(k>=’A’&k<=’Z’); f=9 10 11 12 13 ?k(f)=[ ] K=eie484584778 ●输入矩阵,并找出其中大于或等于5的元素。(find) 1.输入命令: ?h=[4 8 10;3 6 9; 5 7 3]; ?[i,j]=find(h>=5) i=3 j=1 1 2 2 2 3 2 1 3 2 3 ●不采用循环的形式求出和式的数值解。(sum) 1.输入命令: ?w=1:63; ?q=sum(2.^w) q=1.8447e+019

实验二 Matlab 基本程序 一、 实验目的: 1. 熟悉Matlab 的环境与工作空间。 2. 熟悉M 文件与M 函数的编写与应用。 3. 熟悉Matlab 的控制语句。 4. 掌握if,switch,for 等语句的使用。 二、 实验内容: 1. 根据y=1+1/3+1/5+……+1/(2n-1),编程求:y<5时最大n 值以及对应的y 值。 2. 编程完成,对输入的函数的百分制成绩进行等绩转换,90~100为优,80~89为良,70~79为中,60~69为及格。 3. 编写M 函数文件表示函数 ,并分别求x=12和56时的函数值。 4. 编程求分段函数 2226;03 56;0532 1;x x x x y x x x x x x x +-<≠=-+≤<≠≠-+且且及其它,并求输入x=[-5.0,-3.0,1.0,2.0,2.5,3.0,3.5]时的输出y 。 三、 实验步骤: 根据y=1+1/3+1/5+……+1/(2n-1),编程求:y<5时最大n 值以及对应的y 值。 1. 打开Matlab ,新建M 文件 2. 输入命令: 51022-+x

太原理工大学数值计算方法实验报告

本科实验报告 课程名称:计算机数值方法 实验项目:方程求根、线性方程组的直接解法、线性方程组的迭代解法、代数插值和最小二乘拟合多项式 实验地点:行勉楼 专业班级:******** 学号:********* 学生:******** 指导教师:誌,冬华 2016年4 月8 日

y = x*x*x + 4 * x*x - 10; return y; } float Calculate(float a,float b) { c = (a + b) / 2; n++; if (GetY(c) == 0 || ((b - a) / 2) < 0.000005) { cout << c <<"为方程的解"<< endl; return 0; } if (GetY(a)*GetY(c) < 0) { return Calculate(a,c); } if (GetY(c)*GetY(b)< 0) { return Calculate(c,b); } } }; int main() { cout << "方程组为:f(x)=x^3+4x^2-10=0" << endl; float a, b; Text text; text.Getab(); a = text.a; b = text.b; text.Calculate(a, b); return 0; } 2.割线法: // 方程求根(割线法).cpp : 定义控制台应用程序的入口点。// #include "stdafx.h" #include"iostream"

心得体会 使用不同的方法,可以不同程度的求得方程的解,通过二分法计算的程序实现更加了解二分法的特点,二分法过程简单,程序容易实现,但该方法收敛比较慢一般用于求根的初始近似值,不同的方法速度不同。面对一个复杂的问题,要学会简化处理步骤,分步骤一点一点的循序处理,只有这样,才能高效的解决一个复杂问题。

太原理工大学单片机实验报告

实验一双字节加法 一实验目的 (1)熟悉并掌握MCS-51指令系统和程序设计方法。 (2)掌握双字节加法的程序算法。 二实验设备 计算机 操作系统:Windows 98/2000/XP 应用软件:WAVE 6000或其他。 三实验内容 编写一个双字节加法程序并调试,设9930H存在R1R0中,6083H存在R2R3中,计算R1R0+R3R2,最后结果保存在R5R4中。 四实验原理 两数低位相加后保留进位位,高位数相加时,将低位的进位加上。 五实验程序流程图 开始 30H→R0,A9H→R1 B3H→R2,50H→R3 低位数相加 (R0)+(R2)→A,Cy A→R4 高位数带进位相加 (R1)+(R3)+(Cy) →A,Cy;A→R5 结束

七实验源程序 ORG 0 LJMP MAIN ORG 30H MAIN: MOV 30H,#25H MOV 31H,#13H MOV 32H,#14H MOV 33H,#35H MOV A,30H ADDC A,32H DA A MOV 40H,A MOV A,31H ADD A,33H DA A MOV 41H,A SJMP $ 八实验结果与分析 (40H)中的结果为39;(41H)中的结果为48.与计算结果相同说明实验正确。九实验心得与总结 通过实验增强了我们分析问题和解决问题的能力,以实践证实理论,从实践中加深对理论知识的理解和掌握。

实验二数据排序程序 一实验目的 (1)熟悉并掌握MCS-51指令系统和程序设计方法。 (2)掌握排序程序算法。 (3)掌握用循环程序实现数据排序的方法。 二实验设备 计算机 操作系统:Windows 98/2000/XP 应用软件:WAVE 6000或其他。 三实验内容 编写一个通用排序子程序并调试,其功能为将RAM的40H~4FH单元16个字节无符号二进制整数按从小到大顺序排序,将排序后的数据存放在50H~5FH缓冲区中。 四实验原理 从40H单元的第一个数开始依次和相邻单元的另一个数比较,如果顺序正确,则不作任何操作;如果顺序错误,则将这两个数位置对换。这样,在完成第一遍n-1次比较后,最小的数到了最后,所以第二遍比较只需要比较n-2次,最多作n-1遍比较就可完成排序。在比较中设立一个标志位flag清零,在循环结束时,若flag=1说明排序未完成,进入外循环;若flag=0,说明排序完成,程序结束。 五实验程序流程图

matlab实验报告

Matlab实验报告 实验二图像处理 一、实验目的 (1)通过应用MA TLAB语言编程实现对图像的处理,进一步熟悉MATLAB软件的编程及应用; (2)通过实验进一步掌握图像处理的基本技术和方法。 二、实验内容及代码 ㈠.应用MA TLAB语言编写显示一幅灰度图像、二值图像、索引图像及彩色图像的程序,并进行相互之间的转换 首先,在matlab页面中的current directory下打开存放图像的文件夹。 1.显示各种图像 ⑴显示彩色图像: ①代码:>> mousetif=imread('tif.TIF'); >> image(mousetif) 显示截图: ②代码:>> mousetif=imread('tif.TIF'); >> imshow(mousetif) 显示截图:

③代码:mousetif=imread('tif.TIF'); subimage(mousetif) 显示截图: 显示截图:

⑵显示二值图像 ①代码:>> I=imread('单色bmp.bmp'); >> imagesc(I,[0 2]) 显示截图: ②代码:>> I=imread('单色bmp.bmp');

>> imshow(I,2) 显示截图: ③代码:>> I=imread('单色bmp.bmp'); >> subimage(I) 显示截图:

⑶显示灰度图像 ①代码:>> I1=imread('256bmp.bmp'); >> imagesc(I1,[0,256]) 显示截图: 代码:>> I1=imread('256bmp.bmp'); >> colormap(gray); >> subplot(1,2,1); >> imagesc(I1,[0,256]); >> title('灰度级为[0 256]的mouse.bmp图'); >> subplot(1,2,2); >> imagesc(I1,[0,64]); >> colormap(gray); >> title('灰度级为[0 64]的mouse.bmp图'); 显示截图:

matlab实验报告

实验报告 2. The Branching statements 一、实验目的: 1.To grasp the use of the branching statements; 2.To grasp the top-down program design technique. 二、实验内容及要求: 1.实验内容: 1).编写 MATLAB 语句计算 y(t)的值 (Write the MATLAB program required to calculate y(t) from the equation) ???<+≥+-=0 530 53)(2 2t t t t t y 已知 t 从-5到 5 每隔0.5取一次值。运用循环和选择语句进行计算。 (for values of t between -5 and 5 in steps of 0.5. Use loops and branches to perform this calculation.) 2).用向量算法解决练习 1, 比较这两个方案的耗时。 (tic ,toc 的命令可以帮助你完成的时间计算,请使用'help'函数)。 Rewrite the program 1 using vectorization and compare the consuming time of these two programs. (tic, toc commands can help you to finish the time calculation, please use the …help ? function). 2.实验要求: 在报告中要体现top-down design technique, 对于 3 要写出完整的设计过程。 三、设计思路: 1.用循环和选择语句进行计算: 1).定义自变量t :t=-5:0.5:5; 2).用循环语句实现对自变量的遍历。 3).用选择语句实现对自变量的判断,选择。 4).将选择语句置入循环语句中,则实现在遍历中对数据的选择,从而实现程序的功能。 2. 用向量法实现: 1).定义自变量t :t=-5:0.5:5; 2).用 b=t>=0 语句,将t>=0得数据选择出,再通过向量运算y(b)=-3*t(b).^2 + 5; 得出结果。 3).用取反运算,选择出剩下的数据,在进行向量运算,得出结果。 四、实验程序和结果 1.实验程序 实验程序:创建m 文件:y_t.m

广州大学学生实验报告1 matlab 程序设计

广州大学学生实验报告 开课学院及实验室:机械与电气工程学院计算机楼 301室2014 年10 月30 日

2、MATLAB指令窗的基本操作 MATLAB指令窗给用户提供了最直接的交互界面,可用于输入和执行指令、显示指令运行结果、调试MATLAB程序等常用的MATLAB仿真计算功能。本实验掌握以下在指令窗执行的基本操作,达到熟悉使用指令窗的目的: (1)最简单的计算器使用方法:在MATLAB指令窗中,可按计算器的方式进行一般的数学计算,MATLAB的运算符的含义大致与常见的运算规则一致; (2)在指令窗中输入和生成矩阵:与一般的计算器不同,在MATLAB中可直接输入和生成矩阵。实际上,矩阵是MATLAB工作的基本元素。 (3)数值表述方法:在MATLAB中的大部分数值的表述方式与平常是相同的,需要注意的是在表示比较大的数时,MATLAB默认采用科学计数法显示; (4)变量命名规则:对于MATLAB变量命名规则,需要注意以下几点: a、变量名、函数名对字母大小写敏感 b、变量名的第一个字母必须是英文字母,后续可以是字母、数字、下划线 c、变量的有效时限:在变量定义赋值之后,会作为内存变量保存并显示在Workspace Browser中。因此,凡是显示在Workspace Browser中的变量 都是“有效”的,其后可以被调用,否则不能被调用。 d、对于像 等常用的数学常量,MATLAB定义了预定义变量与其对应,在使用时需多加留意。 e、复数和复数矩阵的表示方法。 (5)其他操作的操作要旨和操作技巧的运用。 3、计算结果的图形表示 计算结果可视化是MATLAB的主要组成部分,借助图形表现数据是十分常用的“数据表达手段”,尤其当数据量相当庞大时,因为图形可以表现数据内在联系和宏观特征。关于MATLAB绘图的基本方法在后续章节中详细讲述,本实验主要通过示例了解MATLAB绘图的基本功能。 4、Current Directory、路径设置器和文件管理 理解当前目录Current Directory和搜索路径的作用是正确使用MATLAB的关键环节。当前目录指的是当前MA TLAB工作的目录,MATLAB运行指令需要打开或者保存的文件,都首先在目录中查找或保存。搜索路径则是MATLAB工作时,需查找相应的文件、函数或变量所在的相关文件夹所在的路径。 在理解当前目录Current Directory和搜索路径的作用的基础上,也要掌握当前目录Current Directory和搜索路径的设置方法,这是正确使用MA TLAB 的必要步骤。 为了理解MATLAB当前目录Current Directory和搜索路径的作用,可以大致了解一下当用户从指令窗送入一个名为cow的指令后,MATLAB的“运作次序”: (1)MATLAB在内存中检查,看cow是不是变量;如果不是,进行下一步; (2)检查cow是不是内建函数;如果不是进行下一步; (3)在当前目录下,检查是否有名为cow的M文件存在;如果不是,进行下一步; (4)在MA TLAB搜索路径的其他目录下,检查是否有名为cow的M文件存在。

Matlab实验指导书(含答案)汇总

实验一:Matlab操作环境熟悉 一、实验目的 1.初步了解Matlab操作环境。 2.学习使用图形函数计算器命令funtool及其环境。 二、实验内容 熟悉Matlab操作环境,认识命令窗口、内存工作区窗口、历史命令窗口;学会使用format命令调整命令窗口的数据显示格式;学会使用变量和矩阵的输入,并进行简单的计算;学会使用who和whos命令查看内存变量信息;学会使用图形函数计算器funtool,并进行下列计算: 1.单函数运算操作。 求下列函数的符号导数 (1) y=sin(x); (2) y=(1+x)^3*(2-x); 求下列函数的符号积分 (1) y=cos(x); (2) y=1/(1+x^2); (3) y=1/sqrt(1-x^2); (4) y=(x-1)/(x+1)/(x+2); 求反函数 (1) y=(x-1)/(2*x+3); (2) y=exp(x); (3) y=log(x+sqrt(1+x^2)); 代数式的化简 (1) (x+1)*(x-1)*(x-2)/(x-3)/(x-4); (2) sin(x)^2+cos(x)^2; (3) x+sin(x)+2*x-3*cos(x)+4*x*sin(x); 2.函数与参数的运算操作。 从y=x^2通过参数的选择去观察下列函数的图形变化 (1) y1=(x+1)^2 (2) y2=(x+2)^2 (3) y3=2*x^2 (4) y4=x^2+2 (5) y5=x^4 (6) y6=x^2/2 3.两个函数之间的操作 求和 (1) sin(x)+cos(x) (2) 1+x+x^2+x^3+x^4+x^5 乘积 (1) exp(-x)*sin(x)

太原理工机械系统设计实验报告资料

《机械系统设计》 实验报告 姓名:马睿聪 班级:机械Z1317 学号:2013000384

实验一:采煤机的主功能及辅助功能 采煤机是一个集机械、电气和液压为一体的大型复杂系统,工作环境恶劣,如果出现故障将会导致整个采煤工作的中断,造成巨大的经济损失. 采煤机是实现煤矿生产机械化和现代化的重要设备之一.机械化采煤可以减轻体力劳动、提高安全性,达到高产量、高效率、低消耗的目的. 采煤机分锯削式、刨削式、钻削式和铣削式四种:采煤机是一个集机械、电气和液压为一体的大型复杂系统,工作环境恶劣,如果出现故障将会导致整个采煤工作的中断,造成巨大的经济损失.随着煤炭工业的发展,采煤机的功能越来越多,其自身的结构、组成愈加复杂,因而发生故障的原因也随之复杂.双滚筒采煤机综合了国内外薄煤层采煤机的成功经验,是针对我国具体国情而设计的新型大功率薄煤层采煤机. 采煤机的主要组成部分: 采煤机的类型很多,但基本上以双滚筒采煤机为主,其基本组成部分也大体相同。各种类型的采煤机一般都由下列部分组成。 (1)截割部 截割部的主要功能是完成采煤工作面的截煤和装煤,由左、右截割电机,左、右摇臂减速箱,左、右滚筒,冷却系统,内喷雾系统和弧形挡板等组成。截割部耗能占采煤机装机总功率的80%-90%,

因此,研制生产效率高和比能耗低的采煤机主要体现在截割部。 传动装置: 截割部传动装置的作用是将采煤机电动机的动力传递到滚筒上,以满足滚筒转速及转矩的要求;同时,还应具有调高功能,以适应不同煤层厚度的变化。 截割部的传动方式主要有一下几种: a)、电动机-摇臂减速箱-行星齿轮减速箱-滚筒 b)、电动机-固定减速箱-摇臂减速箱-滚筒 c)、电动机-固定减速箱-摇臂减速箱-行星齿轮减速箱-滚筒 d)、电动机-摇臂减速箱-滚筒螺旋滚筒: 螺旋滚筒是采煤机落煤和装煤的工作机构,对采煤机工作起决定性作用,消耗总装功机率的80%-90%。早期的螺旋滚筒为鼓型滚筒,现代采煤机都采用螺旋滚筒。螺旋滚筒能适应煤层的地质条件和先进的采煤方法及采煤工艺的要求,具有落煤、装煤、自开切口的功能。近些年来出现了一些新的截割滚筒,诸如滚刀式滚筒、直

matlab实验报告

Matlab实验报告 ——定积分的近似计算 学生姓名: 学号: 专业:数学与应用数学专业

数学实验报告 实验序号:1001114030 日期:2012年10月20日 班级应一姓名陈璐学号1001114030 实验名称:定积分的近似运算 问题背景描述: 利用牛顿—莱布尼茨公式虽然可以精确地计算定积分的值,但它仅适合于被积分函数的原函数能用初等函数表达出来的情形。如果这点办不到或不容易办到, 这就有必要考虑近似计算的方法。在定积分的很多应用问题中,被积函数甚至没 有解析表达式,可能只是一条实验记录曲线,或者是一组离散的采样值,这时只 能应用近似方法去计算相应的定积分。 实验目的: 本实验将主要研究定积分的三种近似计算算法:矩形法、梯形法、抛物线发。对于定积分的近似数值计算,Matlab有专门函数可用。 实验原理与数学模型: 1.sum(a):求数组a的和。 2.format long:长格式,即屏幕显示15位有效数字。 3.double():若输入的是字符则转化为相应的ASCII码;若输入的是整型数之则转化为 相应的实型数值。 4.quad():抛物线法求数值积分。格式:quad(fun,a,b)。此处的fun是函数,并且

为数值形式,所以使用*、/、^等运算时要在其前加上小数点。 5.trapz():梯形法求数值积分。格式:trapz(x,y)。其中x为带有步长的积分区间;y为数 值形式的运算。 6.fprintf(文件地址,格式,写入的变量):把数据写入指定文件。 7.syms 变量1变量2……:定义变量为符号。 8.sym('表达式'):将表达式定义为符号。 9.int(f,v,a,b):求f关于v积分,积分区间由a到b。 10.subs(f,'x',a):将a的值赋给符号表达式f中的x,并计算出值。若简单地使用subs (f),则将f的所有符号变量用可能的数值代入,并计算出值。 实验所用软件及版本:Matlab 7.0.1

matlab7.0x课后习题答案

1、利用基本矩阵产生3*3和15*8的单位矩阵、全1矩阵、全0矩阵、均匀分布随机阵([-1,1]之间)、正态分布随机阵(均值为1,方差为4)。 解: A1=eye(3); A2=ones(3); A3=zeros(3); A4=2*rand(3)-1; A5=2*randn(3)+1; B1=eye(15,8); B2=ones(15,8); B3=zeros(15,8); B4=2*rand(15,8)-1; B5=2*randn(15,8)+1; 结果:由于数据是随机产生的,所以在没有给出运行结果。 2、利用diag等函数产生下列矩阵: a=[0 0 8;0 -7 5;2 3 0] b=[2 0 4;0 5 0;7 0 8] 然后利用reshape函数将它们变换成行向量。 解: 产生a的程序: b=diag([8 -7 2]); c=b+diag([5 3],-1); a=fliplr(c) 产生b的程序: s=[2 2 8]; t=[4 3 7]; v=diag(s); p=diag(t)+fliplr(v); b=fliplr(p) 运行结果: a = 0 0 8 0 -7 5 2 3 0 b = 2 0 4 0 5 0 7 0 8 利用reshape函数将它们变换成行向量:reshape(a,1,9) ans = 0 0 2 0 -7 3 8 5 0 3、产生一均匀分布在(-5,5)之间的随机阵(50*2),要求精确到小数点后一位。 解: A=5-round(100*rand(50,2))/10 部分数据结果: A = 2.4000 4.2000 -0.1000 2.7000 -4.6000 -3.3000

相关主题
文本预览
相关文档 最新文档
item content