《MATLAB编程练习题》小结

发布时间:2024-12-29 23:04

使用解题软件辅助,如MATLAB或Excel #生活技巧# #学习技巧# #解题技巧训练#

"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 - 将数组从左向右翻转 123456

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 1234567891011

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]) 1234567891011

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 123456789

5.用红色点画线方式绘制函数y = sin( x) +cos(x)在[−π,π]上的曲线,并以“函数”为标题。

x=-pi:0.1:pi; y=sin(x)+cos(x); plot(x,y,'-.r','LineWidth',1.6) title('函数') 1234

6.用多子图方式分别绘制曲线y1=sin(x+1), y2=e0.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); 1234567

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') 12345678910

8.绘制三维曲线x=3tsin(t),y=3tcos(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; 12345

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); 12345

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); 12345

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)) 123456789101112

12.用 for 循环语句计算求和的程序。

x=0:1000000; k=0; for i=x k=k+0.2.^i; end disp(k) 123456

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 12345678

14.求解非线性方程x4-3x3+2x2-2*x+5=0
的根、导数以及 x = 2 时的值。

A=[1 -3 2 -2 5]; Roots=roots(A) p=polyder(A) Y=polyval(A,2) 1234

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.

1234567891011121314151617181920212223242526

啊啊啊啊,用时太多了,想想还是不如直接去刷代码,,,,,写blog有点得不偿失啊,,,而且有点太基础了。。。

在这里插入图片描述

网址:《MATLAB编程练习题》小结 https://www.yuejiaxmz.com/news/view/603055

相关内容

MATLAB在线课程与学习资源
matlab编程实现美图秀秀,图像配准技术及其MATLAB编程实现源码及自己测试M文件...
matlab中for循环的简单使用
Matlab代码实践——BP神经网络
MATLAB字符串拼接编写y=a1x1+a2x2+……+anxn多元一次方程
基于MATLAB语音识别系统GUI界面
Matlab
Matlab的for循环优化
MATLAB图像处理(包括图像类型转换)
编程工具软件有哪些好用 常用的编程工具软件推荐

随便看看