8、MATLAB程序设计与应用刘卫国(第三版)课后实验八:数据分析与多项式计算

目录

一、

二、

 三、

 四、

五、 


一、

利用MATLAB提供的rand函数生成30 000个符合均匀分布的随机数,然后检验随机数的性质。

(1)均值和标准差。

 ---------------------------------------示例代码---------------------------------------------

A=rand(1,30000);
b=mean(A)
std(A,0,2)

---------------------------------------运行结果---------------------------------------------

 (2)最大元素和最小元素。

 ---------------------------------------示例代码---------------------------------------------

A=rand(1,30000);
max(A)
min(A)

---------------------------------------运行结果---------------------------------------------

 (3)大于0.5的随机数个数占总数的百分比。

 ---------------------------------------示例代码---------------------------------------------

random_Number = 30000;
number_List = rand(random_Number,1);
n = 0;
for i=1:1:random_Number
	if(number_List(i)>0.5)
		n = n+1;
	end
end
percentage = (n/random_Number)*100
fprintf('大于0.5的随机数占有的比例为%.2f%%',percentage);

---------------------------------------运行结果---------------------------------------------

二、

将100个学生5门功课的成绩存入矩阵P中,进行如下处理。

(1)分别求每门课的最高分、最低分及相应学生序号。

(2)分别求每门课的平均分和标准差。

 ---------------------------------------示例代码---------------------------------------------

t=45+50*rand(100,5);
P=fix(t); 
[x,l]=max(P)  
[y,k]=min(P)
mu=mean(P)  %每门课的平均值行向量
sig = std(P)

---------------------------------------运行结果---------------------------------------------

(3)5门课总分的最高分、最低分及相应学生序号。

(4)将5门课总分按从大到小顺序存入 score中,相应学生序号存入num。

提示:上机调试时,为避免输入学生成绩的麻烦,可用取值范围在[45,95]之间的随机矩阵来表示学生成绩。

  ---------------------------------------示例代码---------------------------------------------

P=45+50*round(rand(100,5));
S=sum(P,2);
Ma=max(S);
Mi=min(S);
kma=find(S==Ma);
kmi=find(S==Mi);
for i = 1:length(kma)
    fprintf('最高分:%d \t学生序号:%d\n',Ma,kma(i))
end
for i = 1:length(kmi)
    fprintf('最低分:%d \t学生序号:%d\n',Mi,kmi(i))
end
[score,num]=sort(S,'descend');
for i = 1:length(score)
    fprintf('总分:%d \t学生序号:%d\n',score(i),num(i))
end

---------------------------------------运行结果---------------------------------------------

 三、

有3个多项式P1(x)=x4+2x3+4x2+5,P2(x)=x+2,P3(x)=x2+2x+3,试进行下列操作。

(1)求P(x)=P1(x)+P2(x)P3(x)。

  ---------------------------------------示例代码---------------------------------------------

p1=[1,2,4,0,5];
p2=[1,2];
p3=[1,2,3];
p=p1+[0,conv(p2,p3)]   

---------------------------------------运行结果---------------------------------------------

 (2)求P(x)的根。

  ---------------------------------------示例代码---------------------------------------------

A=roots(p)

---------------------------------------运行结果---------------------------------------------

(3)当x取矩阵A的每一元素时,求P(x)的值。其中 

 (4)当以矩阵A为自变量时,求P(x)的值。其中A的值与(3)相同。

  ---------------------------------------示例代码---------------------------------------------

p1=[1,2,4,0,5];
p2=[1,2];
p3=[1,2,3];
p4=[0,conv(p2,p3)];
p = p1+p4	%求p(x)=p1(x)+p2(x)x=roots(p)%求p(x)的根
x = roots(p)
A = [-1 1.2 -1.4;0.75 2 3.5;0 5 2.5]; 
y1 = polyval (p,A)  %x 取矩阵A 的每一元素时的 p(x)值
y2 = polyvalm(p,A)	%当以矩阵A为自变量时

---------------------------------------运行结果---------------------------------------------

 

 四、

 某气观测站测得某日6:00至 18:00之间每隔2h的室内外温度(℃)如实验表1所示。

 试用三次样条插值分别求出该日室内外6:30至17:30之间每隔2h各点的近似温度(℃)

  ---------------------------------------示例代码---------------------------------------------

h=6:2:18;
x=6.5:2:17.5;
t1=[18,20,22,25,30,28,24];
t2=[15,19,24,28,34,32,30];
T1=spline(h,t1,x)
T2=spline(h,t2,x)

---------------------------------------运行结果---------------------------------------------

五、 

已知lgx 在[1,101]区间10个整数采样点的函数值如实验表2所示。

实验表2 lg(x)在10个采样点的函数值

x

1

11

21

31

41

51

61

71

81

91

101

lgx

0

1.0414

1.3222

1.4914

1.6128

1.7076

1.7854

1.8513

1.9085

1.9590

2.0043

试求1gx的5次拟合多项式p(x),并绘制出lgx和p(x)在[1,101]区间的函数曲线。

 ---------------------------------------示例代码---------------------------------------------

x=1:1:101;
y1=log10(x);
p=polyfit(x,y1,5)
y2=polyval(p,x);
plot(x,y1,':o',x,y2,'-*')

---------------------------------------运行结果---------------------------------------------

如对你有帮助,留下小小一赞,岂不是美哉 

如有侵权,请尽快与我联系!!!

  • 34
    点赞
  • 69
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 《Matlab程序设计应用》是一本由卫国编写的教材,主要介绍了Matlab的基础知识、编程技巧以及应用实例。该书内容丰富,涵盖了Matlab的各个方面,从基本语法到高级应用都有所涉及。此外,书中还提供了大量的实例和练习题,有助于读者深入理解Matlab应用。对于学习Matlab的人来说,这本书是一本非常好的参考资料。 ### 回答2: 《matlab程序设计应用第三版卫国》是一本非常优秀的教材,它对于matlab程序设计应用做了详细的介绍和探讨。 首先,本书对matlab的基本语法和数据类型进行了深入的讲解。无论是初学者还是有一定编程基础的人,都可以通过本书了解到matlab的语法和数据类型,并掌握如何使用这些基础知识进行编程。 其次,本书涵盖了matlab的各种工具箱和函数库,其中包括数学、信号处理、图像处理、控制系统等各个领域的工具箱和函数库。作者详细的介绍了每个工具箱和函数库的使用方法和应用场景,让读者在掌握matlab基础知识后可以更深入地学习matlab的各个领域。 另外,本书还提供了大量的编程实例和案例,这些实例和案例都来自实际应用,让读者了解matlab应用实践。同时,这些实例和案例还可以帮助读者提高编程实践能力,让读者更快地上手实际编程和解决问题。 总之,《matlab程序设计应用第三版卫国》是一本非常优秀的matlab教材,它详细深入地介绍了matlab的基础知识、各种工具箱和函数库,并提供了大量的编程实例和案例,非常适合初学者和有一定编程基础的人进行学习和实践。 ### 回答3: 《matlab程序设计应用》是由卫国编写的一本基于MATLAB的教材,旨在帮助读者从入门到精通地使用MATLAB,了解其在科学、工程和技术领域的广泛应用第三版在第二版的基础上做出了一些更新和改进,其中最显著的改进是新增了许多高级主题,如图像处理、控制系统设计、信号处理和统计分析。此外,还增加了许多新的实例和应用,旨在加强读者的实际应用技能。 书中的内容覆盖了MATLAB编程的各个方面,包括基本语法、运算符、控制结构、数组矩阵操作、函数和脚本文件的编写、数据类型、输入输出、GUI编程、符号计算、模拟仿真、图像处理和信号处理等。 本书采用了直观、易懂的语言和丰富的实例,旨在让读者快速入门,逐步深入,最终精通MATLAB的使用。对于初学者而言,本书可以帮助他们了解MATLAB的基本操作和语法,掌握数学计算数据分析和图形绘制等方面的基本技能。而对于有经验的用户而言,本书可以帮助他们更好地理解MATLAB的高级特性和最新应用,进而在实际工作中更加灵活和高效地运用MATLAB。 总之,《matlab程序设计应用第三版是一本具有实用性和教育性的经典教材,不仅适合计算机、数学等专业的本科生、研究生和教师,也适合从事科学、工程和技术领域的实际应用人员。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值