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

需积分: 50 197 下载量 195 浏览量 更新于2024-08-09 收藏 7.02MB PDF 举报
"MATLAB中文手册相关问题及解答" 这篇资料涉及到MATLAB的数组操作、变量命名规则、数组属性及运算、数值表示方法以及表达式求值等多个知识点。 1. 数组操作: - `array1`的大小是4x5,即有4行5列。 - `array1(4,1)`的值是1.1。 - `array1(:,1:2)`的大小是4x2,值为: ``` [1.0 0.0; 3.14 0.0; 4.38 26.6; 0.65 31.2] ``` - `array1([1 3],end)`的大小是2x1,值为: ``` [4.0; 0.0] ``` 2. 变量命名规则: - `dog1`是合法的变量名。 - `1dog`不合法,因为变量名不能以数字开头。 - `Do_you_know_the_way_to_san_jose`不合法,因为变量名不能包含空格。 - `_help`是合法的变量名。 - `What's_up?`不合法,因为变量名不能包含特殊字符(如问号)。 3. 数组定义及其属性: - a. `a=1:2:5;`定义了一个从1到5步长为2的数组,大小为3x1,值为:`[1 3 5]`。 - b. `b=[a' a' a'];`创建了一个3x9的数组,每列包含`a`的值。 - c. `c=b(1:2:3,1:2:3);`取`b`的子矩阵,大小为2x2。 - d. `d=a+b(2,:);`将`a`与`b`的第二列相加,生成一个新的数组。 - e. `w=[zeros(1,3) ones(3,1)' 3:5'];`创建了一个4x4的数组,包含了零向量、一维向量和一个数列。 - f. `b([1 3],2)=b([3 1],2);`交换`b`的第一行第二列和第三行第二列的值。 4. 子数组内容: - `array1(3,:)`的内容为: ``` [4.38 26.6 61.1 10.0 0.0] ``` - `array1(:,3)`的内容为: ``` [0.0; 0.0; 26.6; 31.2] ``` - `array1(1:2:3,[3 3 4])`的内容为: ``` [4.38 26.6 61.1] ``` - `array1([1 1],:)`的内容为: ``` [0.0 1.0 0.0 1.5 4.1] ``` 5. 数值表示: - `value`的值为`10π`,不同显示方式如下: - `disp(['value = ' num2str(value)])`显示`value = 31.4159` - `disp(['value = ' int2str(value)])`显示`value = 31`(取整) - `fprintf('value = %e\n',value)`显示`value = 3.1416e+01` - `fprintf('value = %f\n',value)`显示`value = 31.4159` - `fprintf('value = %g\n',value)`显示`value = 31.416` - `fprintf('value = %12.4f\n',value)`显示`value = 31.4159` 6. 数组运算: - a. `result=a+b`的结果取决于`a`和`b`的定义。 - b. `result=a*d`非法,因为`a`和`d`形状不匹配。 - c. `result=a.*d`对应元素乘法,若`a`和`d`相同大小,则合法。 - d. `result=a*c`矩阵乘法,若`a`和`c`尺寸兼容,则合法。 - e. `result=a.*c`对应元素乘法,同c。 - f. `result=a\b`是左除,若`a`和`b`是适当尺寸的矩阵,则合法。 - g. `result=a.\b`是右除,若`a`和`b`是适当尺寸的矩阵,则合法。 - h. `result=a.^b`对应元素指数,若`a`和`b`相同大小,则合法。 7. 表达式求值: - a. `11/5+6`的值是7.2。 - b. `(11/5)+b`的值取决于`b`的定义。 - c. `11/(5+b)`的值同样取决于`b`的值。 - d. `3^2^3`的值是729,因为先计算指数`2^3`得到8,再对3进行指数运算。 - e. `3^(2^3)`的值也是729,因为先计算括号内的`2^3`。 - f. `(3^2)^3`的值是729,先计算3的平方,再求立方。 - g. `round(-11/5)+6`的值是1,因为-11/5约等于-2.2,四舍五入为-2,加6后为4。 - h. `ceil(-11/5)+6`的值是3,因为-11/5向上取整为-2,加6后为4。 - i. `floor(-11/5)+6`的值是2,因为-11/5向下取整为-3,加6后为3。 MATLAB作为强大的数值计算和工程应用工具,提供了丰富的函数和语法结构,以上问题涉及了MATLAB的基础操作和高级应用,对于学习和使用MATLAB的用户来说,这些都是非常基础且重要的知识点。