“You are more than what you have become now”
非标准答案自编,权当练习熟悉知识点
1.产生 100 到 1 的等差数列,数据点为 20 个,赋值给 x。获取 x 的第 10 个单元的值,赋值给 x1;获取 x 的前 10 个单元的值,赋值给 x2;获取 x 的后 5 个单元的数据,赋值给 x3;将 x 的偶数单元中的数据赋值给 x4;将 x 的数据倒排,赋值给 x5。
x=[1:5:100]
x1=x(10)
x2=x(1:10)
x3=x(end-4:end)
x4=x(2:2:end)
x5=fliplr(x) %%fliplr - 将数组从左向右翻转
2.创建矩阵 A 和 B,然后执行下列运算:
Y1=A+B Y1=A.+B
Y2=A-B Y2=A.-B
Y3=A*B Y3=A.*B
Y4=A\B Y4=A.\B
Y5=A/B Y5=A./B
Y6=A^2 Y6=A.^2
Y7=3^B Y7=3.^B
Y8=A^B Y8=A.^B
A=[1:3;4:6;7:9];
B=[2 3 4;5 6 7;8 9 1];
Y1=A+B, %%Y12=A.+B提示运算符使用无效
Y2=A-B, %%Y22=A-.B提示运算符使用无效
Y3=A*B,Y32=A.*B
Y4=A\B,Y42=A.\B
Y5=A/B,Y52=A./B
Y6=A^2,Y62=A.^2
Y7=3^B,Y72=3.^B
%%Y8=A^B,报错
Y82=A.^B
3.生成相量 A,其元素为区间[1,999]内的整数,然后找出 A 中能被 13 整除且
大于 500 的数。
A=1:999;
j=1;
for i =A
if A(i)>500
if rem(A(i),13)==0
C(j)=A(i);
j=j+1;
end
end
end
disp(["符合要求的数为:",C])
4.求线性方程组的系数矩阵的行列式、迹、秩、逆,并求解线性方程组。
A=[1 -1 1;2 1 1;1 -1 -2];
Det=det(A)
Trace=trace(A)
Rank=rank(A)
Inv=inv(A)
B=[1;2;-4]; %%向量行与列
j1=Inv*B
j2=A\B
5.用红色点画线方式绘制函数y = sin( x) +cos(x)在[−π,π]上的曲线,并以“函数”为标题。
x=-pi:0.1:pi;
y=sin(x)+cos(x);
plot(x,y,'-.r','LineWidth',1.6)
title('函数')
6.用多子图方式分别绘制曲线y1=sin(x+1), y2=e
0.5x
,y3=y1+y2在[0,5π]上的曲线。
x=0:0.1:5*pi;
y1=sin(x+1);
y2=exp(0.5*x);
y3=y1+y2;
subplot(1,3,1),plot(x,y1);
subplot(1,3,2),plot(x,y2);
subplot(1,3,3),plot(x,y3);
7.采用多图叠绘的方式分别绘制正弦曲线y1=sin(x+1)、余 弦 曲 线y2=cos(x)+1在区间[0,2π]上的曲线,要求两条曲线一条用实线,一条用虚线,一条用红色,一条用绿色,线宽均设置为 2,并为两条曲线添加图例“正弦曲线”和“余弦曲线”。
x=0:0.1:2*pi;
y1=sin(x+1);
y2=cos(x)+1;
[AX,H1,H2]=plotyy(x,y1,x,y2);
set(H1,'linestyle','-','marker','o','color','r','LineWidth',2);
set(H2,'linestyle','-','marker','*','color','g','LineWidth',2);
%% line(x,y1,'Linestyle','-','color','r')
%% line(x,y2,'Linestyle','--','color','g')
legend('正弦曲线','location','southeast','余弦曲线','location','southeast')
8.绘制三维曲线x=3
t
sin(t),y=3
t
cos(t) , z=t, 𝑡 ∈ [1,10]。
t=0:0.1:10;
x=3.*t.*sin(t);
y=3.*t.*cos(t);
z=t;
plot3(x,y,z),grid;
9.在 XY 平面内选择区域[0,6]和[0,6]绘制二维高斯函数的三维网格曲面。
x=0:0.1:6;
y=0:0.1:6; %%二维平面所以会有不同
z=exp(-(x-3).^2+(y'-3).^2);
subplot(1,2,1),mesh(z);
subplot(1,2,2),surf(z);
10.在 XY 平面内选择区域[-6,6]和[-6,6]绘制函数的三维曲面。
x=-6:0.5:6;
y=-6:0.5:6; %%二维平面所以会有不同
z=sin(sqrt(x.^2+y'.^2))./sqrt(x.^2+y'.^2); %%注意加“.”
subplot(1,2,1),mesh(z);
subplot(1,2,2),surf(z);
11.利用 while 循环求出 100 到 200 之间第二个能被 31 整除的数。
x=100:200;
n=0;
i=1;
while n<2
if rem(x(i),31)==0
n=n+1;
c(n)=x(i);
end
i=i+1;
end
disp(c(2))
12.用 for 循环语句计算求和的程序。
x=0:1000000;
k=0;
for i=x
k=k+0.2.^i;
end
disp(k)
13.分别用逆矩阵法和除法求解线性方程组
A=[1 4 -2 2;
2 1 -4 1;
5 2 -1 -1;
-1 3 -2 3];
B=[10 5 21 1]';
jie1=inv(A)*B
jie2=A\B
14.求解非线性方程x
4
-3
x
3
+2
x
2
-2*x+5=0
的根、导数以及 x = 2 时的值。
A=[1 -3 2 -2 5];
Roots=roots(A)
p=polyder(A)
Y=polyval(A,2)
15.给出一组数据 x=[-1,-0.96,-0.62,0.1,0.4,1],y=[-1,-0.1512,0.386,
0.4802,0.8838,1],分别使用 2~5 次多项式对其进行多项式拟合,绘制出拟合
曲线。
x=[-1,-0.96,-0.62,0.1,0.4,1]
y=[-1,-0.1512,0.386,0.4802,0.8838,1]
subplot(2,3,1),plot(x,y,'o','LineWidth',1)%%原始数据
a1=polyfit(x,y,2);
xi=linspace(-1,1);
yi1=polyval(a1,xi);
subplot(2,3,2),plot(x,y,'o',xi,yi1,'y','LineWidth',1)
a1=polyfit(x,y,3);
xi=linspace(-1,1);
yi1=polyval(a1,xi);
subplot(2,3,3),plot(x,y,'o',xi,yi1,'c','LineWidth',1)
a1=polyfit(x,y,4);
xi=linspace(-1,1);
yi1=polyval(a1,xi);
subplot(2,3,4),plot(x,y,'o',xi,yi1,'g','LineWidth',1)
a1=polyfit(x,y,5);
xi=linspace(-1,1);
yi1=polyval(a1,xi);
subplot(2,3,5),plot(x,y,'o',xi,yi1,'b','LineWidth',1)
%%linspace(X1, X2) generates a row vector of 100 linearly equally spaced points between X1 and X2.
啊啊啊啊,用时太多了,想想还是不如直接去刷代码,,,,,写blog有点得不偿失啊,,,而且有点太基础了。。。