一、实验目的 (1)掌握生成特殊矩阵以及矩阵处理的方法 (2)掌握数据统计和分析的方法 (3)掌握多项式的常用计算 | ||||||||||
二、实验原理与实验设备 原理:计算机编程相关知识技能和MATLAB软件编译环境 设备:计算机与MATLAB软件 | ||||||||||
三、MATLAB矩阵处理 设有分块矩阵A=E3×3R3×2O2×3S2×2,其中E、R、O、S分别为单位矩阵、随机矩阵、零矩阵、和对角阵,试通过数值计算验证A2=ER+RSOS2 clear; clc; B = eye(3); C = rand(3,2); D = zeros(2,3); E = rand(1,2); F = diag(E); A = [B C;D F]; G = A * A H = [B C+C*F;D F*F] if G == H fprintf("\t由结果可知:G = H,也即验证成功\n") end | ||||||||||
四、数据分析与多项式计算
clear; clc; x = rand(1,30000); average = mean(x) SD = std(x) y = length(find(x>0.5)); P = y/30000
为了避免输入学生成绩的麻烦,可用取值范围在[45,95]之间的随机矩阵来表示学生成绩。 clear; clc; random_num = 45+50*rand(100,5); P = fix(random_num); [max_score,max_score_num] = max(P) [min_score,min_score_num] = min(P) average = mean(P) SD = std(P) A = sum(P,2); [all_max_score,all_max_score_num] = max(A) [all_min_score,all_min_score_num] = min(A) [score,num] = sort(A)
A=-11.2-1.40.7523.5052.5 clc; p1 = [1,2,4,0,5]; p2 = [1,2]; p3 = [1,2,3]; p2 = [0,0,0,p2]; p3 = [0,0,p3]; p4 = conv(p2,p3); num_p4 = length(p4); num_p1 = length(p1); p = [zeros(1,num_p4-num_p1),p1]+p4 x = roots(p) A = [-1 1.2 -1.4;0.75 2 3.5;0 5 2.5]; X1 = polyval(p,A) X2 = polyvalm(p,A)
clear; clc; x = -2*pi:0.5:2*pi; y = sin(x); z = -2*pi:0.2:2*pi; y1=interp1(x,y,z); figure plot(x,y,'*',z,y1,'c') title('分段性插值') | ||||||||||
五、画图 1:按要求做出下面函数的图像
x=etcosty=etsint t∈(-4π,4π) clear; clc; x = -pi:0.1:pi; f1 = exp(2*x.*sin(2*x)); figure subplot(2,2,1) plot(x,f1,'c') title('exp(2*x.*sin(2*x))') subplot(2,2,2) ezplot('x*x-x*x*x*x',[-2*pi,2*pi]) subplot(2,1,2) ezplot('exp(t)*cos(t)','exp(t)*sin(t)',[-4*pi,4*pi]) 2:分别用plot3()、mesh()、meshc()画出下面函数的曲面图形 并添加标题 z=cosx2+y2 -5≤x,y≤5 clear; clc; x1 = -5:0.1:5; y1 = -5:0.1:5; z1 = cos(sqrt(x1.*x1+y1.*y1)); figure subplot(2,1,1) plot3(x1,y1,z1,'c') title('plot3(x,y,z)') subplot(2,2,3) x2 = -5:0.1:5; y2 = -5:0.1:5; [x,y]=meshgrid(x2,y2); z2 = cos(sqrt(x.*x+y.*y)); mesh(x,y,z2) title('mesh(x,y,z)') subplot(2,2,4) meshc(x,y,z2) title('meshc(x,y,z)') | ||||||||||
五、实验总结 请简单对实验进行总结,阐述MATLAB在矩阵计算中的优势。 本次实验我掌握了用MATLAB生成特殊矩阵以及矩阵处理的方法,掌握了用MATLAB进行数据统计和分析的方法,掌握了用MATLAB进行多项式的常用计算。 MATLAB在矩阵中计算快的主要原因是因为MATLAB集合了非常多的高性能数学库,这里面有BLAS、LAPACK等矩阵运算库。同时,用MATLAB做矩阵运算的运算符号与我们日常书写的符号非常相似,不需要像python和c语言那样要专门写代码。 综上所述,MATLAB在矩阵计算中的优势是非常明显的。 | ||||||||||
指导教师批阅意见: 成绩评定:
批阅教师签字: 年 月 日 | ||||||||||
备注: |