看下面的数组回答有关问题-大学物理知识点总结
2.1 看下面的数组回答有关问题
[ \begin{array}{ccc} -1.1 & 0.0 & 4.1 \ 1.5 & -3.1 & 2.0 \ 0.1 & 6.4 & 8.3 \ 0.1 & 5.3 & 2.1 \ \end{array} ]
a. array1的大小是多少?
这个数组的大小是4行3列,即4x3。
b. array1(4,1)的值是多少?
数组array1的第4行第1列的值是0.1。
c. array1(:,1:2)的大小和值为多少?
array1的所有行的第1列到第2列的大小是4x2,其值为:
[ \begin{array}{cc} -1.1 & 0.0 \ 1.5 & -3.1 \ 0.1 & 6.4 \ 0.1 & 5.3 \ \end{array} ]
d. array1([1 3],end)的大小和值为多少?
数组array1的第1行和第3行的最后一列的大小是2x1,其值为:
[ \begin{array}{c} 4.1 \ 8.3 \ \end{array} ]
2.2 下面的变量名哪些合法哪些不合法。为什么?
a. dog1
合法,变量名可以以字母开头,后面可以跟数字。
b. 1dog
不合法,变量名不能以数字开头。
c. Do_you_know_the_way_to_san_jose
合法,变量名可以包含字母、数字和下划线,并且长度不限。
d. _help
合法,虽然下划线开头不常见,但依然合法。
e. What's_up?
不合法,变量名不能包含撇号和问号。
2.3 写出下面的数组的大小和内容。注意后面的数组可能根据前面数组的定义。
a. a = 1:2:5;
数组a的大小是1x3,其内容为:[1, 3, 5]
b. b = [a' a'];
数组b的大小是3x2,其内容为:
[ \begin{array}{cc} 1 & 1 \ 3 & 3 \ 5 & 5 \ \end{array} ]
c. c = b(1:2:3,1:2:3);
数组c的大小是2x2,其内容为:
[ \begin{array}{cc} 1 & 1 \ 5 & 5 \ \end{array} ]
d. d = a + b(2,:);
数组d的大小是1x3,其内容为:[4, 6, 8]
e. w = [zeros(1,3) ones(3,1)' 3:5'];
数组w的大小是1x7,其内容为:[0, 0, 0, 1, 3, 4, 5]
f. b([1 3],2) = b([3 1],2);
操作后数组b的大小不变,内容为:
[ \begin{array}{cc} 1 & 5 \ 3 & 3 \ 5 & 1 \ \end{array} ]
2.4 数组定义如下,写下面的子数组的内容
[ \begin{array}{ccc} -1.1 & 0.0 & 4.1 \ 1.5 & -3.1 & 2.0 \ 0.1 & 6.4 & 8.3 \ 0.1 & 5.3 & 2.1 \ \end{array} ]
a. array1(3,:)
第3行的内容为:[0.1, 6.4, 8.3]
b. array1(:,3)
第3列的内容为:[4.1, 2.0, 8.3, 2.1]
c. array1(1:2:3,[3 3 4])
提取的子数组内容为:[4.1, 4.1; 8.3, 8.3]
d. array1([1 1],:)
提取的子数组内容为:[-1.1, 0.0, 4.1; -1.1, 0.0, 4.1]
2.5 已知value的初始化值是10π,写出下列语句的输出
value = 10 * pi;
disp(['value = ' num2str(value)]);
disp(['value = ' int2str(value)]);
fprintf('value = %e ',value);
fprintf('value = %f ',value);
fprintf('value = %g ',value);
fprintf('value = %12.4f ',value);
a. disp(['value = ' num2str(value)]);
输出:value = 31.4159
b. disp(['value = ' int2str(value)]);
输出:value = 31
c. fprintf('value = %e ',value);
输出:value = 3.141593e+01
d. fprintf('value = %f ',value);
输出:value = 31.415927
e. fprintf('value = %g ',value);
输出:value = 31.4159
f. fprintf('value = %12.4f ',value);
输出:value = 31.4159
2.6 a,b,c的定义如下,如果下面运算是合法的,那么写出结果,如果不合法,说出原因。
a = [1 2 3];
b = [4; 5; 6];
c = [7 8 9];
a. a + b
不合法,a是1x3,b是3x1,矩阵大小不一致,无法相加。
b. a .* c
合法,逐元素相乘,结果为:[7, 16, 27]
c. a * c
不合法,矩阵相乘要求a的列数等于c的行数,而这里a是1x3,c是1x3,无法相乘。