matlab标准实验报告1

  • 格式:doc
  • 大小:93.00 KB
  • 文档页数:16

实 验 报 告

实验题目:MATLAB软件环境及基本操作

牡 丹 江 师 范 学 院 物 理 系

实验目的:

1.了解软件的作用及使用方法

2.了解软件系统中各工作区的作用

3. 掌握如何对矩阵里德操作

实验内容:

1、进入MATLAB应用界面,并熟悉各个工作区的功能。

2、对矩阵操作

3、掌握各函数的作用和用法

4、矩阵的拆分

实验步骤:

1、进入MATLAB界面

可选择快捷方式进入,也可从开始菜单进入,也可根据软件所在位置双击相应的文件进入。

2、退出

可从FILE菜单选择EXIT退出,也可直接点关闭。

3、进入主界面后,了解菜单及工具的作用

4、了解各工作区的作用

5、在命令窗口中,给变量赋值。(包括普通标量、向量和矩阵,注意变量名取名规则,同时需注意在MATLAB环境中,就是需区分大小写,在给变量赋值时需注意其它窗口的变化。给变量赋值可选择直接进行,也可用冒号表达式,或用LINSPACE函数,同时注意赋值语句后加和不加分号之间的区别,修改变量的值。)

6、矩阵拆分

输出矩阵的某一行或某一列。

格式:A(:,J)输出第J列,A(I,:)输出第I行。

A(I:I+M,:)输出第I至第I+M行全部元素,A(:,J:J+M)输出第J列至第J+M列全部元素。A(I:I+M,J:J+K)输出第I至第I+M行、第J列至第J+M列全部元素。

7、特殊矩阵

ONES(M,N)、 ZEROS(M,N)、 EYE(M)

8、利用函数DIAG(A,K)提取矩阵的第K条对角线

9、利用函数TRIU(A,K)、TRIL(A,K)提取上三角和下三角矩阵。

10、求矩阵的转置矩阵,并旋转90度(ROT90(A,K)),左右翻转(FLIPLR(A))、上下翻转(FLIPUD(A)).

实 验 报 告

实验题目: 数值数组(矩阵)及其运算

牡 丹 江 师 范 学 院 物 理 系

实验目的:

了解矩阵运算规则及方法

实验内容:

1、矩阵的算术运算

2、矩阵的关系运算

3、矩阵的逻辑运算

4、点运算

5、字符串操作

6、结构数据

7、单元数据

8、稀疏矩阵操作

实验步骤:

1、输入二个矩阵变量,并求其逆矩阵(INV(A)).

2、矩阵的算术运算

输入二个矩阵A和B,计算A+B、A-B、A*B、A/B、A\B。矩阵输入时,需注意算术运算规则,加减运算要求二个矩阵的行数和列数一定要相同,运算时是二个矩阵对应的元素相加或减,乘时要求A矩阵的列数与B矩阵的行数应相同,除时要求除数可求逆矩阵。

3、关系运算

输入二个矩阵A和B,分别对其进行比较。> >= < <= == ~=,注意查看输出结论,系统运算时,是对应元素进行关系运算,结果为真则对应元素值为1,否则为0。

4、逻辑运算

输入二个矩阵A和B,分别对其进行与、或、非的运算,注意运算规则结论,运算时,是对应的元素进行逻辑运算,结果为真,则对应元素值为1,否则为0。

5、点运算

输入二个矩阵A和B,分别对其进行.* ./ .\的运算,注意运算规则及结论,点运算为对应元素进行运算。

6、乘方运算

7、稀疏矩阵操作

1、输入一稀疏矩阵,输出其完全存储方式矩阵和稀疏存储方式矩阵。

2、输入一带状矩阵,输出其稀疏存储方式矩阵。

说明:矩阵的存储方式有完全存储方式和稀疏存储方式,完全存储方式需存储矩阵中的每个元素,而稀疏存储方式只存储非零元素,包括其行、列坐标及元素值。 将完全存储方式矩阵S转换成稀疏存储方式函数为sparse(s),此函数的其它用法为:sparse(m,n):生成一M*N的所有元素值均为0的稀疏矩阵。

Sparse(u,v,s):其中u为非零元素的行坐标,V为非零元素的列坐标,S为值。

产生稀疏矩阵:spconvert(a),其中a为M*3或M*4的矩阵,其每一行表示一个非零元素的行坐标、列坐标、值。

实 验 报 告

实验题目:MATLAB程序设计与调试

牡 丹 江 师 范 学 院 物 理 系

实验目的:

1、掌握M文件的编写方法

2、掌握M文件的调试过程、上机步骤及运行方式

实验内容:

1、编写顺序程序、分支程序,并调试、运行。

2、编写一函数,并调用。

实验步骤:

1、进入M文件编辑状态

2、输入M文件并存盘

3、对M文件进行调试,直到正确为止。

4、进入命令窗口,运行或调用M文件。

5、输出运行结果

参考程序:

1、顺序程序

x=input(‘please input x’);

y=input(please input y’);

z=x;

x=y;

y=z;

disp(x);

disp(y);

2、分支程序设计

c=input(‘please input a char’);

if c>=’A’&c<=’Z’

disp(setstr(abc(c)+32);

elseif c>=’a’&c<=’z’

disp(setstr(abs(c)-32);

elseif c>=’0’&c<=’9’

disp(setstr(abs(c)-48);

else

disp(c);

end

3、循环程序设计 s=0;

a=[1,2,3;4,5,6;7,8,9];

for k=a

s=s+k;

end

disp(s);

输入一个数据M,输出1—M之间的全部素数

m=input(‘m=’);

p=1:m;p(1)=0;

for i=2:sqrt(m)

for j=2*i:i:m

p(j)=0;

end

end

n=find(p~=0);

p(n)

4、多重循环

输出1—500之间的完数

for m=1:500

s=0;

for k=1:m/2

if rem(m,k)==0

s=s+k;

end

end

if m==s

disp(m);

end

end

5、子函数

function f=fac(n)

if n<=1

f=1;

else

f=fac(n-1)*n;

end

注意子函数在调用时,一定要有实参,如fac函数,调用时应用:fac(4),要将实参4给形参n. 分支程序要求分别用单分支语句、双分支语句、多分支语句分别编写相应的应用程序

实 验 报 告

实验题目: MATLAB 绘图的基本操作