switch语句
grade = 'B';
switch(grade)
case 'A'
fprintf('Excellent!\n' );
case 'B'
fprintf('Well done\n' );
case 'C'
fprintf('Well done\n' );
case 'D'
fprintf('You passed\n' );
case 'F'
fprintf('Better try again\n' );
otherwise
fprintf('Invalid grade\n' );
end
嵌套Switch语句
a = 100;
b = 200;
switch(a)
case 100
%判断变量a的值。如果a等于100,则执行相应的代码块
fprintf('This is part of outer switch %d\n', a );
switch(b)
case 200
fprintf('This is part of inner switch %d\n', a );
end
end
fprintf('Exact value of a is : %d\n', a );
fprintf('Exact value of b is : %d\n', b );
从向量中选择一系列元素
例如,让我们创建一个包含9个元素的行向量rv,然后我们将通过编写来引用元素3到7,rv(3:7)并创建一个名为sub_rv的新向量。
rv = [1 2 3 4 5 6 7 8 9];
sub_rv = rv(3:7)
MATLAB将执行上述语句并返回以下结果-
sub_rv =
3 4 5 6 7
引用矩阵的元素
为了引用矩阵mx的第m行第n列中的元素,我们写-
mx(m, n);
a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8];
a(2,5)
引用在第m的所有元素个列,我们A型(:,米)。
a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8];
v = a(:,4)
%提取矩阵a的第4列
输出为
v =
4
5
6
7
也可以选择
a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8];
a(:, 2:3)
%提取矩阵a的第2列和第3列
ans =
2 3
3 4
4 5
5 6
创建一个子矩阵
a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8];
sa = a(2:3,2:4)
%提取一个2行3列的子矩阵
%2:3表示选取第2行到第3行
%2:4表示选取第2列到第4列
删除矩阵中的行或列
通过为该行或列分配一组空的方括号[]来删除矩阵的整个行或列
%删除-的第四行
a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8];
a( 4 , : ) = []
a =
1 2 3 4 5
2 3 4 5 6
3 4 5 6 7
%删除-的第五列
a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8];
a(: , 5)=[]
a =
1 2 3 4
2 3 4 5
3 4 5 6
4 5 6 7
a = [ 1 2 3 ; 4 5 6; 7 8 9];
new_mat = a([2,3,2,3],:)
%复制该矩阵的第二行和第三行两次以创建4×3矩阵
new_mat =
4 5 6
7 8 9
4 5 6
7 8 9
单元数组
c = cell(2, 5);
c = {'Red', 'Blue', 'Green', 'Yellow', 'White'; 1 2 3 4 5}
c =
{
[1,1] = Red
[2,1] = 1
[1,2] = Blue
[2,2] = 2
[1,3] = Green
[2,3] = 3
[1,4] = Yellow
[2,4] = 4
[1,5] = White
[2,5] = 5
}
c = {'Red', 'Blue', 'Green', 'Yellow', 'White'; 1 2 3 4 5};
c(1:2,1:2)
%1:2表示选取第1行到第2行,1:2表示选取第1列到第2列
ans =
{
[1,1] = Red
[2,1] = 1
[1,2] = Blue
[2,2] = 2
}
也可以使用大括号索引
c = {'Red', 'Blue', 'Green', 'Yellow', 'White'; 1 2 3 4 5};
c{1, 2:4}
ans = Blue
ans = Green
ans = Yellow
冒号表示法
A = [1 2 3 4; 4 5 6 7; 7 8 9 10]
A(:,2) %A的第二列
A(:,2:3) %A的第二列和第三列
A(2:3,2:3) %第二行和第三行以及第二列和第三列
A =
1 2 3 4
4 5 6 7
7 8 9 10
ans =
2
5
8
ans =
2 3
5 6
8 9
ans =
5 6
8 9