Matlab期末复习
一,《MATLAB》课程课堂练习(二)
1、 请编写一段matlab程序,完成以下功能:
(1) 生成一个200行,150列的二维随机数组;
(2) 找出数组A中所有大于0.42且小于0.55的元素的单下标;
(3) 数组A中满足(2)中的条件的元素有多少个?
(4) 求出数组A中满足(2)中的条件的元素的和,并求出这些元素的平均值;
(5) 将(4)求出的平均值赋值给数组A中满足(1)中的条件的每个元素。
clear
A = rand(200,100);
a = find(A(:,:) > 0.42 & A(:,:) < 0.55 );
L = length(a);
s1 = sum(A(a));
m1 = mean(sum(A(a)));
A(a) = m1;
函数解释
rand(m,n);rand函数生成均匀分布随机矩阵 生成m*n随机矩阵
find();系数矩阵非零元素的索引
length();求长度
sum();计算x相量的总和数值
mean();计算样本均值函数
2、 请编写一段matlab程序,完成以下功能:
(1) 找出200到400之间的所有质数,将这些质数存放在一个行数组里;
(2) 求出这些质数之和;
(3) 求出200到400之间的所有非质数之和(包括100和200)。
clear
X = 200:400;
p1 = X(isprime(X));
p2 = X(~isprime(X));
s1 = sum(p1);
s2 = sum(p2);
3、 ,编写一段matlab程序,要求如下
(1) 在 区间,每隔0.01取一 数值,计算出相应的 的函数值;
(2) 根据MATLAB计算出的数据,找出在 内该函数的极小值的坐标。
[my,idx] = min(y)
clear
syms x y
x = 0:0.01:2*pi;
y = ((0.67 + (2 * cos(2 .* x)) / (1 + x.^2))) .* sin(x)
plot(x,y);
axis([-2*pi 3*pi -2*pi 3*pi])
grid on
[y,i] = min(y);
4、
在MATLAB中,A是一个10×10数组,我们把该数组看成矩阵的话,则此矩阵的行列式值 = ,此矩阵的逆矩阵(如果存在的话) = 。(用MATLAB的函数表示)
clear
A= rand(10,10);
D = det(A)
X = inv(D)
函数解释
rand();生成随机数矩阵
det(X); 返回方阵X的多项式的值
inv();求矩阵的逆
5
clear
A=[1 2 1.5 -1;0 1 -1 2;1 1 1 4;1 -3 1 -1];
B = [2,1,4,0]';
x = A\B
答案:
x =
1.2128
0.3617
0.3830
0.5106
clear
A=[3 5 -1 -7;5 -5 3 2;1 0 6 -5;-4 3 -2 9];
b=[4;-3;21;-16];
xywz=A\b
答案:
xywz =
-1.5902
-0.4030
2.2171
-1.8575
6、 编写一段matlab程序,绘制出二元函数 三维网线图,要求如下:
(1) , 的取值范围为 , ;
(2) , 每隔0.5取一个点;
(3)图形的线型和颜色由MATLAB自动设定
clear
X = [-9:0.5:9];
Y = [-9:0.5:9];
[x,y]=meshgrid(X,Y);
z=3*sin(x).*y./(x.*y);
mesh(x,y,z)
函数解释
mesh(x,y,z,c);x,y为坐标,z为函数,c用于控制网格颜色