Matlab例题
0、常用函数
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15fix - 朝零四舍五入
rem - 除后的余数
round - 四舍五入为最近的小数或整数
inv - 矩阵求逆
length - 最大数组维度的长度
- 按列数组元素总和
- 数组大小
max - 数组的最大元素
- 按列重构数组,例如reshape(1:16,2,8)。
randn - 正态分布的随机数
rand - 均匀分布的随机数
det - 求矩阵的行列式
inv - 矩阵求逆
eig - 求特征值和特征向量
fliplr - 交换元素1、在通常情况下,左除x=a\b是 a*x=b的解,右除x=b/a是 x*a=b 的解,一般情况下, a\b,b/a 。a\b等效于inv(a)*b
2、MATLAB表达式2*2^3^2的结果是( A )
A.128 B.4096 C. 262144 D.256
3、某商场对顾客所购买的商品实行打折销售,标准如下(商品价格用price来表示):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22price<200 没有折扣
200≤price<500 3%折扣
500≤price<1000 5%折扣
1000≤price<2500 8%折扣
2500≤price<5000 10%折扣
5000≤price 14%折扣
输入所售商品的价格,求其实际销售价格。
price=input('请输入商品价格');
switch fix(price/100)
case {0,1} %价格小于200
rate=0;
case {2,3,4} %价格大于等于200但小于500
rate=3/100;
case num2cell(5:9) %价格大于等于500但小于1000
rate=5/100;
case num2cell(10:24) %价格大于等于1000但小于2500
rate=8/100;
case num2cell(25:49) %价格大于等于2500但小于5000
rate=10/100;
otherwise %价格大于等于5000
rate=14/100;
end4、串联是连接数组以便形成更大数组的过程。实际上,第一个数组是通过将其各个元素串联起来而构成的。成对的方括号 [ ] 即为串联运算符。
1
2
3
4
5A = [a,a]
A = 3×6
1 2 3 1 2 3
4 5 6 4 5 6
7 8 10 7 8 105、使用逗号将彼此相邻的数组串联起来称为水平串联。每个数组必须具有相同的行数。同样,如果各数组具有相同的列数,则可以使用分号垂直串联。
1
2
3
4
5
6
7
8A = [a; a]
A = 6×3
1 2 3
4 5 6
7 8 10
1 2 3
4 5 6
7 8 10- 6、在一个元胞数组A中寻访第2行第3列元胞元素用 A(2,3) ;寻访数组第2行第3列元胞中的内容用 A{2,3} 。使用园括号进行索引,将得到一个元胞数组子集;使用花括号进行索引时,将会得到元胞数组中的数据。
7、MATLAB实现将全下标转换为单下标的指令为 Sub2ind 、据单下标换算出全下标的指令为 Ind2sub
1
2
3
4
5
6
7
8
9>>A=[6 4 4 8];
>>B=[1 1 1 0;1 1 1 0;1 1 1 0; 0 0 0 5];
>>C=[A;B(:,1:3)’]
答案:
C=
6 4 4 8
1 1 1 0
1 1 1 0
1 1 1 08、用MATLAB编程求下列联立方程的解 3x+4y-7z-12w=4 ;5x-7y+4z+ 2w=-3; x +8z- 5w=9 ;-6x+5y-2z+10w=-8 。求系数矩阵的秩,求出方程组的解。(5分)
1
2
3
4
5
6
7
8
9
10a=[3 4 -7 -12; 5 -7 4 2 ;1 0 8 -5; -6 5 -2 10];
c=[4; -3; 9;-8];
b=rank(a)
d=a\c
X=d(1)
Y=d(2)
Z=d(3)
W=d(4)
>> b = 4
x=-1.4841;y= -0.6816;z= 0.5337;w=-1.24299、在MATLAB矩阵除法中,A\B等效于( inv(A)*B ),B/A等效于( B*inv(A) )
10、若一个数等于它的各个真因子之和,则称该数为完数,如6=1+2+3,所以6是 完数。求[1,500]之间的全部完数。(15分)
1
2
3
4
5
6
7
8
9
10
11for m=1:500
s=0;
for k=1:m/2
if rem(m,k)==0
s=s+k;
end
end
if m==s
disp(m);
end
end11、在同一图上分别用红色实线和绿色虚线绘制y1=sin(x)和y2=cos(x)在区间[0,4*pi]的曲线,并用星号*标出两条曲线的交点以及标注图例。(5分)
1
2
3
4
5
6
7
8
9
10clf
x=0:pi/200:4*pi;
y1=sin(x);
y2=cos(x);
zz=x(find(abs(y1-y2)<0.005))
z=min(zz)
plot(x,y1,'r-',x,y2,'g-.')
hold on
plot(zz,sin(zz),'*')
legend('sin','cos')12、对应MATLAB提供的绘制平面曲线、离散序列、三维曲线、三维网格曲线、等高线图的函数为 (B)
A. plot, stem, mesh, plot3, surf
B. plot, stem, plot3, mesh, contour
C. plot, hist, mesh, plot3, contour
D. plot, hist, plot3, meshc, contour13、在MATLAB中,图形窗口色图的设置和改变需调用函数
(A)color (B) colormap (C) plot (D) change14、A是一个維度m×n的矩阵.写一段程序,算出A中有多少个零元素。
1
2
3
4
5
6
7
8
9
10A= input ('请输入一个矩阵')
[m,n]= size(A);
sum=0;
for i=1:m
for j=1:n
if A(i,j)==0
sum = sum+1;
ends
end
end15、将一个屏幕分4幅,选择合适的步长在右上幅与左下幅绘制出下列函数的图形。① ,x (曲线图);②f(x,y)= (-2<=x<=2,-4<=x<=4) (曲面图)。
1
2
3
4
5
6
7subplot(2,2,2);
ezplot('(cos(x))^(1/2)',[-pi/2 pi/2]);
ylabel('y');
subplot(2,2,3);
x=-2:0.5:2;
y=-4:1:4;
ezsurfc('x^2/2^2+y^2/4^2')16、在同一图上分别用红色实线和绿色虚线绘制y1=sin(x)和y2=cos(x)在区间[0,4*pi]的曲线,并用星号*标出两条曲线的交点以及建立图例。(6分)
1
2
3
4
5
6
7
8
9
10clf
x=0:pi/200:2*pi;
y1=sin(x);
y2=cos(x);
zz=x(find(abs(y1-y2)<0.005))
z=min(zz)
plot(x,y1,'r-',x,y2,'g-.')
hold on
plot(zz,sin(zz),'*')
legend('sin','cos')
本文标题:Matlab例题
文章作者:Raincorn
发布时间:2020-06-22
最后更新:2020-07-28
原始链接:https://blog.raincorn.top/2020/06/22/Matlab_Notes/
版权声明:本文采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可