MATLAB编程基础:数组操作与问题解答

需积分: 50 26 下载量 36 浏览量 更新于2024-08-08 收藏 7.67MB PDF 举报
"MATLAB编程基础,包括数组操作、变量命名规则、数组属性、数学运算及表达式求值、矩阵运算、函数应用以及编程中的误差处理。" 在MATLAB编程中,数组是基本的数据结构。在标题和描述中提到的问题主要涉及到数组的操作和属性。首先,array1的大小可以通过查看其行数和列数来确定,例如array1的大小可能是4x5。要获取array1(4,1)的值,即第四行第一列的元素,需要直接引用这个位置的数值。array1(:,1:2)表示取array1的所有行,第一到第二列,所以它的大小会是4x2,并给出相应的值。array1([1 3],end)取第一行和第三行,最后一列的值,其大小是2x1。 变量命名规则是编程的基础,MATLAB中合法的变量名可以包含字母、数字和下划线,但不能以数字开头。因此,`dog1` 是合法的,而 `1dog` 不是。`Do_you_know_the_way_to_san_jose` 也是合法的,尽管较长但符合规则。`_help` 合法,但避免使用下划线开头。`What's_up?` 不合法,因为它包含非字母数字字符。 数组的定义和操作是MATLAB的核心。例如,`a=1:2:5;` 创建一个从1到5步长为2的向量;`b=[a' a' a'];` 将a水平堆叠三次;`c=b(1:2:3,1:2:3);` 取b的偶数索引行和列;`d=a+b(2,:);` 在a的每一行上加上b的第二行;`e=[zeros(1,3) ones(3,1)' 3:5'];` 结合零向量、一列向量和一个序列;`b([1 3],2)=b([3 1],2);` 交换b的第一行和第三行的第二个元素。 在数组定义后的问题中,`array1(3,:)` 提取第三行;`array1(:,3)` 提取第三列;`array1(1:2:3,[3 3 4])` 取第一、三行,指定列的值;`array1([1 1],:)` 获取第一行的两倍。 关于数值的显示,`value` 初始化为10π,使用`disp`、`int2str`、`fprintf` 函数可以以不同格式显示其值,包括浮点数、整数、科学记数法等。 矩阵运算方面,例如`result=a+b;` 是合法的加法操作,其他如`result=a*d;`(乘法)、`result=a.*d;`(元素乘法)、`result=a\b;`(左除)、`result=a.\b;`(右除)等都是合法的,但`result=a*c;` 和 `result=a.*c;` 可能不合法,因为a和c的维度可能不匹配。表达式求值包括基本的算术运算,如指数、除法和取整函数,如`11/5+6`、`(11/5)+b`、`11/(5+b)` 等。 这个资源涵盖了MATLAB的基础知识,包括数组操作、变量定义、矩阵运算和数值显示,对于初学者来说是非常有价值的参考资料。