实验一、MATLAB基本操作
一、实验目的
2.学习使用图形函数计算器命令funtool及其环境。 3. 学习使用help命令进行帮助
4. 掌握向量与矩阵的创建以及矩阵的基本操作 5. 掌握数组与矩阵的概念 二、 实验内容
熟悉Matlab操作环境,认识命令窗口、内存工作区窗口、历史命令窗口;学会使用format命令调整命令窗口的数据显示格式;学会使用变量和矩阵的输入,并进行简单的计算;掌握数组与矩阵的概念;学会使用help命令进行帮助;学会使用who和whos命令查看内存变量信息;学会使用图形函数计算器funtool;
1. 命令窗 口的简单使用 (1) 简单矩阵的输入 (自由创建)
x=[1 3 5;2 4 6]
x =
1 3 5
2 4 6
(2) 求[12+2×(7-4)]÷32的算术运算结果,总结算术运算符先级
[12+2*(7-4)]/3^2
ans =
2
2. 有关向量、矩阵或数组的一些运算 (1) 设A=15;B=20;求C=A+B与c=a+b的区别 A=15;B=20; >> C=A+B C = 35 >> c=a+b
??? Undefined function or variable 'a'.
(2) 设A=[1 2 3;4 5 6;7 8 9],B=[9 8 7;6 5 4;3 2 1];求A*B与A.*B,
分析原因?
(A*B是两个矩阵相乘,A.*B是对应元素相乘) A=[1 2 3;4 5 6;7 8 9]; B=[9 8 7;6 5 4;3 2 1]; >> A*B
ans =
30 24 18
84 69 54 138 114 90
>> A.*B
ans =
9 16 21 24 25 24
21 16 9
(3) 设a=10,b=20;求i=a/b与j=a\\b a=10; >> b=20; >> i=a/b i =
0.5000 >> j=a\\b j = 2
(4) 设a=[1 -2 3;4 5 -4;5 -6 7]
请设计出程序,分别找出小于0的矩阵元素的线性索引以及行列索引(sub2ind/ind2sub)。(find()) 并将其单下标转换成全下标。 clear,clc
a=[1 -2 3;4 5 -4;5 -6 7]; b=find(a<0)
[x,y]=ind2sub(size(a),find(a<0)) Y=sort(a, 1, ‘descend’)
2.对矩阵按列从大到小 排列 (sort())
(5) 在MATLAB命令行窗口运行A=[1,2;3,4]+i*[5,6;7,8];看结果如何?如
果改成运行A=[1,2;3,4]+i[5,6;7,8],结果又如何? >> A=[1,2;3,4]+i*[5,6;7,8] A =
3.5000 5.0000 6.5000 8.0000
>> A=[1,2;3,4]+i[5,6;7,8]
??? A=[1,2;3,4]+i[5,6;7,8]
Error: Unbalanced or misused parentheses or brackets.
前面那个是虚数矩阵,后面那个出错 (6) 请写出完成下列计算的指令:
a=[1 2 3;3 4 2;5 2 3],求a^2=?,a.^2=?
a^2= 22 16 16 25 26 23
26 24 28
a.^2=
1 4 9 9 16 4 25 4 9
(7) 有一段指令如下,请思考并说明运行结果及其原因
clear X=[1 2;8 9;3 6]; X( : ) 转化为列向量 >> clear
>> X=[1,2;8,9;3,6]; >> X(:) ans = 1 8 3 2 9 6
(8) 使用help命令,明白什么是稀疏矩阵sparse( ),并用采用两种方法创
建下面的稀疏矩阵(其中一种方法采用help所提供的三元组方法创建稀疏矩阵
(S = SPARSE(i,j,s,m,n))) 2 0 8 0
0 0 0 1