MATLAB 矩阵处理及多项式计算
创始人
2024-02-03 15:50:22
0
 

一、实验目的

(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

四、数据分析与多项式计算

  1. 利用MATLAB提供的rand函数生成30000个符合均匀分布的随机数,然后检验随机数的性质。
  1. 均值和标准差
  2. 最大元素和最小元素
  3. 大于0.5的随机数个数占总数的百分比

clear;

clc;

x = rand(1,30000);

average = mean(x)

SD = std(x)

y = length(find(x>0.5));

P = y/30000

  1. 将100个学生5门功课的成绩存入矩阵P中,进行如下处理。
  1. 分别求每门课的最高分、最低分及相应学生序号。
  2. 分别求每门课的平均分和标准差
  3. 5门课总分的最高分、最低分及相应学生序号。
  4. 将5门课总分按从大到小顺序存入变量score中,相应学生序号存入num。

为了避免输入学生成绩的麻烦,可用取值范围在[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)

  1. 有3个多项式P1x=x4+2x3+4x2+5, P2x=x+2, P3x=x2+2x+3,试进行下列操作
  1. 求P(x)=P1(x)+P2(x)P3(x)
  2. 求P(x)的根
  3. 当x取矩阵A的每一元素时,求p(x)的值。矩阵A见下
  4. 当以矩阵A为自变量时,求P(x)的值。矩阵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)

  1. 采用interp1对y=sin(x)进行分段性插值,并绘制出图像。

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:按要求做出下面函数的图像

  1. 绘制f1(x)=e2xsin2x ,x∈(-π,π)的图像
  2. 绘制隐函数f2(x, y)=x2-x4=0 ,x∈(-,)上的图像
  3. 绘制下面参数曲线的图像。

x=etcosty=etsint    t∈(-,)

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     -5x,y5

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在矩阵计算中的优势是非常明显的。

指导教师批阅意见:

成绩评定:

实验报告规范性、撰写形式与质量(15%)

现场完成情况(40%)

实验数据和处理分析(30%)

思考题与实验总结(15%)

总分

                                                    批阅教师签字:

                                                    年    月    日

备注:

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
一帆风顺二龙腾飞三阳开泰祝福语... 本篇文章极速百科给大家谈谈一帆风顺二龙腾飞三阳开泰祝福语,以及一帆风顺二龙腾飞三阳开泰祝福语结婚对应...
美团联名卡审核成功待激活(美团... 今天百科达人给各位分享美团联名卡审核成功待激活的知识,其中也会对美团联名卡审核未通过进行解释,如果能...