本文概述
- 具有兼容大小的数组输入
- 多维数组输入
- 空数组输入
- 行和列向量兼容性
具有兼容大小的数组输入 二维阵列输入
让我们了解具有兼容大小的标量, 向量和矩阵的一些组合:
- 两个数组输入的大小完全相同。
文章图片
- 一个数组输入是标量。
文章图片
- 一个输入是一个矩阵, 另一个输入是具有相似行数的列向量。
文章图片
- 一个输入是列向量, 另一个是行向量。
文章图片
多维数组输入
- 一个输入是矩阵, 另一个输入是具有相同行数和列数的3-D数组。
文章图片
- 一个输入是矩阵, 另一个输入是3D数组。所有输入的尺寸全部相同, 或者输入之一为一维。
文章图片
空数组输入 空数组是没有元素且维度大小为零的数组。空数组和非空数组的规则相同, 并且维的大小不等于1决定了输出的大小。
例:
>
>
% creating empty array>
>
a = ones (1, 3, 0)a =1?3?0 empty double array>
>
% creating non-empty array>
>
b = ones (3, 1);
输出
>
>
a.*bans =3x3x0 empty double array
MATLAB会隐式扩展具有兼容大小的数组, 但是无法将不兼容的大小隐式扩展为相同大小。
- 输入尺寸大小之一既不相等也不相等。
>
>
a = ones(4, 3);
>
>
b = ones(3, 3);
输出
>
>
a+bMatrix dimensions must agree.>
>
a-bMatrix dimensions must agree.>
>
a.*bMatrix dimensions must agree.
- 长度不相等的两个非标量行向量。
>
>
a =ones(1, 3);
>
>
b = ones(1, 4);
输出
>
>
a+bMatrix dimensions must agree.>
>
a-bMatrix dimensions must agree.>
>
a.*bMatrix dimensions must agree
行和列向量兼容性 行向量和列向量始终具有兼容的大小, 即使大小和长度不同也是如此。然后对这些向量执行算术运算将创建一个矩阵。
例:
>
>
% creating a row vector>
>
a = ones(1, 3)a =111>
>
% creating a column vector>
>
b = rand(4, 1)b =0.90580.12700.91340.6324
输出
>
>
% adding two row and column vectors>
>
a + bans =1.90581.90581.90581.12701.12701.12701.91341.91341.91341.63241.63241.6324>
>
% subtraction of two row and column vectors>
>
a - bans =0.09420.09420.09420.87300.87300.87300.08660.08660.08660.36760.36760.3676>
>
% array multiplication of two row and column vectors>
>
a.*bans =0.90580.90580.90580.12700.12700.12700.91340.91340.91340.63240.63240.6324
推荐阅读
- MATLAB M文件
- MATLAB end关键字
- MATLAB错误控制语句try-catch
- MATLAB return语句
- MATLAB break语句
- MATLAB continue语句
- 快速安装MATLAB详细步骤
- MATLAB while循环语句
- MATLAB嵌套循环语句