1.Matlab基本语法和基本操作.
Contents
语法基础
1 输入代码(记得每条语句后加“;”)之后,点击Run运行,在workspace界面查看你的计算结果,如果你想直接输出几个计算结果,在你想输出的结果后面不加“;”
2
1.2.1 变量赋值:
一般形式: 变量 = 表达式(数)
a = [1 2 3 ; 4 5 6 ; 7 8 9 ] %矩阵形式赋值.
a = 1:10 %从1到10的矩阵.
a = 1:2:10 %固定步长为2的矩阵.
zeros(3,2) %三行两列的全零矩阵.
a = [] % 空矩阵
who % 检查工作空间的变量
whos % 检查存于工作空间变量的详细资料
1.2.2 矩阵运算
常用函数:
%* norm 范数
% * det 行列式
% * inv 方阵的逆矩阵
% * size 矩阵的阶数
% * rank 秩
% * trace 迹
% * eig 特征值和特征向量
% * ^ 乘方运算
% * sqrtm 开方运算
% * expm 指数运算
% * logm 对数运算
A = [6 7 5 ; 3 6 9 ; 4 1 5 ]
B = 20 + A
C = inv (A) * B
eig(C) %求矩阵的特征根
% 矩阵的乘方运算和开方运算
A = [6 7 5 ; 3 6 9 ; 4 1 5 ]
B = A^2
C = sqrtm(B)
A =
6 7 5
3 6 9
4 1 5
B =
26 27 25
23 26 29
24 21 25
C =
3.8571 2.8571 2.8571
-0.9524 0.0476 -0.9524
1.9048 1.9048 2.9048
ans =
4.8095
1.0000
1.0000
A =
6 7 5
3 6 9
4 1 5
B =
77 89 118
72 66 114
47 39 54
C =
6.0000 7.0000 5.0000
3.0000 6.0000 9.0000
4.0000 1.0000 5.0000
1.2.3 程序控制语句
- if语句
- 循环语句
if语句
x = 32 ; y = 86;
if x > y
'x 大于 y'
elseif x < y
'x 小于 y'
elseif x == y
' x 等于y'
else 'error'
end
ans =
x 小于 y
循环语句
-
for 循环的基本格式为:
for 循环变量 = 起始值 : 步长 : 终止值
循环体
end
% for循环使用示例
a = 0;
for i = 1:1:10
a = a + i ;
end
a
a =
55
-
while循环语句基本格式为
while 表达式
循环体
end
% while循环使用示例
num = 0; a = 5;
while a >1
a = a/2;
num = num + 1;
end
num
num =
3
1.2.4 基本绘图方法
- plot 二维线性图
- subplot 绘制子图
- figure() 创建一个图的窗口
- titel 图的标题
- xlabel x坐标
- ylabel y坐标
- grid 图显示网格
- hold 保持当前图形
- clf 清除图形和属性
- mesh 三维网线图
- plot3 三维图形
- surf 三维表面图
- 绘图的基本步骤
- 三维图形的绘制
- 空间曲面的绘制
绘图的基本步骤:
x = -pi:.1:pi;
y1 = sin(x);
y2 = cos(x); %准备绘图数据
figure(1) %打开图形窗口
subplot(2,1,1) %确定第一幅图绘图窗口
plot(x,y1) %以x,y1绘图
title('绘图的基本步骤') %为第一幅图设置标题:"绘图的基本步骤"
grid on %显示网格线
subplot(2,1,2) %确定第二幅图绘图窗口
plot(x,y2) %以x,y2绘图
xlabel('time') %为第二幅设置x坐标名'time'
ylabel('y') %为第二幅设置y坐标名'y'
figure(2) %打开图形窗口
subplot(1,2,1),stem(x,y1,'r') %绘制红色的脉冲图
subplot(1,2,2),errorbar(x,y1,'g') %绘制绿色的误差条形图
三维图形的绘制
figure(3)
x = 0:0.1:4*pi;
y1 = sin(x);
y2 = cos(x);
plot3(y1,y2,x)
title('绘图的三维图形')
grid on
空间曲面的绘制
x = [-2:0.2:2];
y = x;
[X,Y] = meshgrid(x,y);
Z = X.*exp(-X.^2-Y.^2);
subplot(2,2,1) % 绘制子图第一幅
surf(Z);
shading flat
subplot(2,2,2) % 绘制子图第二幅
mesh(Z);
subplot(2,2,3) % 绘制子图第三幅
meshc(Z)
subplot(2,2,4) % 绘制子图第四幅
surfl(Z)
view(20,7)
文件导入
xlsread函数
xlsread(文件名,工作表,读取的行列范围)
ex1:
filename='matlab_test.xlsx' ;
sheet= 1;
xlrange = A1:C3;
data=xlsread(filename,sheet,xlrange ) ;
ex2:
data=xlsread('matlab_test.xlsx','sheet1', 'A1:C3');
两者区别:适用xlsread函数时,如果不使用中间变量,则在需要使用‘’符号。