Matlab期末复习(二)

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用于控制网格颜色
  • 7
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值