实验四 数据分析与多项式计算(含实验报告)

合集下载

数值分析 插值多项式实验报告

数值分析 插值多项式实验报告

三、实验内容及要求:
1.已知数据如下:
xi
f ( xi )
0 0+学号
0.2 0.04+学号
0.4 0.16+学号
0.6 0.36+学号
0.8 0.64+学号
1.0 1+学号
注学号取后面两位数,如 122320101,学号=1。 (1)用 MATLAB 等语言编写按 Lagrange 插值法和 Newton 插值法计算插值的程序,对以上数据进行插值; (2)利用 MATLAB 在第一个图中画出离散数据及插值函数曲线。 2.给定函数 f ( x) =
6
end end b=1; for k=1:9 if k~=i b=b*(x0(i)-x0(k)); end end A(i)=expand(a/b); end L=0; for p=1:9 L=L+y0(p)*A(p); end L L=-745631513600000000/6545742033698309*x^8+3419841600000000000/65457420 33698309*x^7-6621592639456000000/6545742033698309*x^6+701929935000000 0000/6545742033698309*x^5-4393156359065510000/6545742033698309*x^4+16 03771386328125000/6545742033698309*x^3-22515465371294825/503518617976 793*x^2+7750485791015625/13091484067396618*x+1 x1=0:0.0001:1; y1=1./(1+25.*x1.^2); y2=-745631513600000000/6545742033698309.*x1.^8+3419841600000000000/65 45742033698309.*x1.^7-6621592639456000000/6545742033698309.*x1.^6+701 9299350000000000/6545742033698309.*x1.^5-4393156359065510000/65457420 33698309.*x1.^4+1603771386328125000/6545742033698309.*x1.^3-225154653 71294825/503518617976793.*x1.^2+7750485791015625/13091484067396618.*x 1+1; plot(x1,y1,'--r') hold on plot(x1,y2,'k') (4)取十一个节点 clear clc x0=0:0.1:1; y0=1./(1+25.*x0.^2); syms x for i=1:11 a=1; for j=1:11 if j~=i a=expand(a*(x-x0(j))); end end b=1; for k=1:11

数值分析报告四

数值分析报告四

实验报告课程名称:数值分析姓名:学号:任课老师:实验一:用循环语句计算函数值实验名称:用MATLAB 软件编写数值计算程序 实验目的与要求:1.学会使用MATLAB 软件编写程序计算函数值2.了解循环语句使用编写方法,计算所求结果并进行分析。

实验内容:序列{n -3}可有下面两种递推公式产生:(1)...,2,1,31,110===-n x x x n n (2)...,3,2,943531,12110=-===--n y y y y y n n n用软件工具或自编程序递推地计算{n x }和{n y },并对计算结果和计算方法进行分析。

实验环境与器材: 9#505 一人一机实验过程(步骤)或程序代码:程序一: x(1)= 1/3; for n=2:15x(n)=(1/3)*x(n-1); x(n) end程序二:y(1)=1/3;y(2)=1/9;for n=3:15y(n)=(5/3)*y(n-1)-(4/9)*y(n-2);y(n)endy(n)end实验结果与分析:结果一:ans =0.1111ans =0.0370ans =0.0123ans =0.0041ans =0.0014ans =4.5725e-004ans =1.5242e-004 ans =5.0805e-005 ans =1.6935e-005 ans =5.6450e-006 ans =1.8817e-006 ans =6.2723e-007 ans =2.0908e-007 ans =6.9692e-008结果二:ans =0.0370 ans =0.0123 ans =0.0041 ans =0.0014 ans =4.5725e-004 ans =1.5242e-004 ans =5.0805e-005 ans =1.6935e-005 ans =5.6450e-006 ans =1.8817e-006ans =6.2723e-007ans =2.0908e-007ans =6.9692e-008在本实验中两种方式计算结果一样,两种方法一样好。

《数学软件》实验报告-数据处理与多项式计算

《数学软件》实验报告-数据处理与多项式计算

附件二:实验项目列表附件三:实验报告(七)系:专业:年级:姓名:学号:实验课程:实验室号:_ 实验设备号:实验时间:指导教师签字:成绩:1. 实验项目名称:数据处理与多项式计算2. 实验目的和要求1.掌握利数据统计和分析的方法2.掌握数值插值与曲线拟合的方法及其应用3.掌握多项式的常用运算3. 实验使用的主要仪器设备和软件方正商祺N260微机;MATLAB7. 0或以上版本4. 实验的基本理论和方法(1)rand函数(2)均值:mean(x)(3)求和:sum(x)(4)方差:std(A,flag,dim)(5)最大值函数:y=max(x),[y,k]=max(x),[Y,U]=max(A,[],dim)(6)最小值函数:y=min(x),[y,u]=min(x),[Y,U]=min(A,[],dim)(7)length函数(8)find函数(9)sort函数:[Y,I]=sort(A,dim)(10)样条插值:Y1=interp1(X,Y,X1,’spline’)(11)polyfit函数:[P,S]=polyfit(X,Y,m)(12)plot函数(13)多项式求和(14)求根函数:x=roots(A)(15)多项式求值:y=polyval(P,X), y=polyvalm(P,X)5. 实验内容与步骤(描述实验中应该做什么事情,如何做等,实验过程中记录发生的现象、中间结果、最终得到的结果,并进行分析说明)(包括:题目,写过程、答案)题目:1.利用matlab提供的rand函数生成30000个符合均匀分布的随机数,然后检验随机数的性质;(1)均值和标准方差。

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

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

function f1x=rand(30000,1);disp('均值:');M=mean(x)disp('标准方差:');S=std(x,0,1)disp('最大元素:');MAX=max(x)disp('最小元素:');MIN=min(x)disp('百分比');a=length(find(x>0.5));X=a/30000>> f1均值:M =0.501标准方差:S =0.28946最大元素:MAX =0.99998最小元素:MIN =3.1508e-005百分比X =0.498532.将100个学生5门功课的成绩存入矩阵P中,进行如下处理。

数据结构多项式实验报告

数据结构多项式实验报告

数据结构实验报告--Week05姓名:覃兆坤学号:10389355一、实验目的用线性表实现多项式的相关操作,加强对线性表的理解和练习,熟练对线性表的操作。

二、实验题目一个d阶多项式有如下形式:c d x d+c d−1x d−1+c d−2x d−2…+c0其中,c d≠0,指数都是非负数。

每一个c i x i是多项式中的一项。

设计一个C++的模板类Polynomial<T>,T给出系数的类型,要求能够实现多项式的表示和运算。

Polynomial类应该包括私有变量degree,和其他需要的变量。

对多项式的表示要求用线性表的形式,例如(c0,c1,c2,…,c d)表示系数表。

并设计以下成员函数和操作:(a) Polynomial(),创建零阶多项式,即构造函数(b) Degree(),返回多项式的阶数degree(c) Input(),输入多项式,指数升序依次输入每一项的指数和系数。

例如输入: 0 c0 1 c1 2 c2…d c d。

重载>>完成输入。

(d) Output(),输出多项式,和输入的格式相同。

重载<<完成输出。

(e) Add(b),和b多项式相加,并返回结果多项式。

重载+。

(f) Subtract(b),和b多项式相减返回结果多项式。

重载-。

(g) Multiply(b),和b多项式相乘返回结果多项式。

重载*。

(h) Value(x),返回x代入多项式的值。

重载( ),例如对于多项式对象P, P(x)能够返回代入x的多项式值。

三、实验设计设计方法:本次实现采用链表的结构,实现建立多项式,对多项式进行相加相减相乘求值的操作。

一共写了2个文件Polynomial.h和test.cpp文件。

其中前者实现多项式的相关功能,后者为人机交互式测试其功能。

1:Polynomial.h:共有2个类:Node为一个节点其中index; modulus; next 分别为指数,系数和指向下一个节点的指针。

数值分析实验报告

数值分析实验报告

实验一:拉格朗日插值法实验目的1学习和掌握拉格朗日插值多项式。

2.运用拉格朗日插值多项式进行计算。

2.实验过程作出插值点(1.00,0.00),(-1.00,-3.00),(2.00,4.00)算法步骤已知:某些点的坐标以及点数。

输入:条件点数以及这些点的坐标。

输出:根据给定的点求出其对应的拉格朗日插值多项式的值。

程序流程:(1)输入已知点的个数;(2)分别输入已知点的X 坐标;(3)分别输入已知点的Y 坐标;程序如下:#include <iostream>#include <conio.h>#include <malloc.h>float lagrange(float *x,float *y,float xx,int n){ int i,j; float *a,yy=0.0; /*a a=(float*)malloc(n*sizeof(float));for(i=0;i<=n-1;i++){ a[i]=y[i]; for(j=0;j<=n-1;j++)if(j!=i) a[i]*=(xx-x[j])/(x[i]-x[j]); yy+=a[i];}free(a); return yy; }int main(){ int i; int n; float x[20],y[20],xx,yy;printf("Input n:");scanf("%d",&n);if(n<=0) { printf("Error! getch();return 1; }for(i=0;i<=n-1;i++) { printf("x[%d]:",i); scanf("%f",&x[i]); }printf("\n"); for(i=0;i<=n-1;i++) { } The value of n must in (0,20).");printf("y[%d]:",i);scanf("%f",&y[i]); printf("\n"); printf("Input xx:"); scanf("%f",&xx); yy=lagrange(x,y,xx,n); printf("x=%f,y=%f\n",xx,yy); getch(); }举例如下:已知当x=1,-1,2 时f(x)=0,-3,4,求f(1.5)的值。

数值分析课设实验报告 多项式求解

数值分析课设实验报告 多项式求解

《数值分析》课程设计任务书根据课设任务书要求,我们的任务是计算出给定的任意的多项式方程:nn n n xa xa x a x a a ++++--112210 根的值。

在此我们选用牛顿迭代法进行计算。

但为了避免重根的问题,我们在得到一个给定函数后,先要将其函数图像画出。

在图像中我们能清晰的看出每个根的大概位置,再选取其中一个根的近似值记为初始值,之后确定精度和误差界后就可以计算这个根的值了。

计算中我们将用到三个M 文件,分别存放牛顿迭代函数、原函数及导函数。

其中原函数和到函数是以迭代形式表现出来的,以此来表示任意阶多项式。

这个模型选取依次求根的方式,能将根的精确度进一步提高,因此适于解决小型多项式的求根问题。

关键字:牛顿迭代函数、多项式、原函数、导函数一、问题的提出————————————————————————4二、模型的假设与符号说明———————————————————5三、问题的分析、模型的建立和测试求解————————————6问题分析———————————————————————6模型建立———————————————————————6测试数据的结果分析——————————————————8四、模型的优缺点和评价————————————————————11五、课设总结—————————————————————————12六、参考文献—————————————————————————13七、附录———————————————————————————14一、问题的提出1.1问题的背景在数学的学习过程中,我们会经常遇到求解多项式的问题,一般情况下我们只能用待定系数法求解这些方程的根,如何能更快捷的利用计算机解决这些问题呢。

下面我们将利用数值分析中的一些方法解决这个问题。

1.2问题的提出任意给定一个多项式:nn n n xa xa x a x a a ++++--112210求出它的根。

二、模型的假设与符号说明2.1 模型的假设2.1.1 假设多项式是有限次的2.1.2 假设某根的区间,及近似值可由图像看出2.1.3 假设每个根能分别求出,由此可不用考虑冲根问题2.2 符号说明(1) f 非线性函数(2) dff的微商(3) 0p 初始值(4) delta给定的允许误差 (5) 1max迭代的最大次数(6) 1p牛顿法求出的方程的近似值(7) err0p 的误差估计(8) k 迭代次数(9) y )(1p f y =(10) A 给定方程的系数矩阵 (11) B给定方程导函数系数矩阵(12) b系数矩阵的列数(13) a 系数矩阵的行数(14)1y)(1x df y =三、 问题的分析、模型的建立和测试求解3.1 对问题的分析根据上文问题的提出可知,我们要对给定的任意多项式:nn n n xa xa x a x a a ++++--112210求解。

数据分析与多项式计算

数据分析与多项式计算
数据分析与多项式计算
目录
数据分析基础 多项式计算基础 数据分析与多项式计算的应用 案例研究 总结与展望
01
数据分析基础
内部数据、外部数据、公开数据、调研数据等。
问卷调查、网络爬虫、API接口、第三方数据提供商等。
数据来源与收集
数据收集方法
数据来源
填充缺失值、删除缺失值、插值等。
数据缺失处理
识别异常值、处理异常值。
数据异常值处理
归一化、标准化等。
数据标准化
分类变量编码、连续变量编码等。
数据编码
数据清洗与预处理
描述性统计
均值、中位数、众数、方差等。
分布探索
直方图、箱线图等。
相关性分析
散点图、相关系数等。
可视化工具
Excel、Tableau、Power BI等。
数据探索与可视化
02
多项式计算基础
多项式是由变量、数字和运算符构成的数学表达式,表示为P(x)=a_n*x^n+a_{n-1}*x^{n-1}+dots+a_1*x+a_0,其中a_i是常数,x是变量。
多项式的因式分解与展开
因式分解是将一个多项式表示为若干个因子的乘积形式,而展开则是将一个多项式的乘积展开成若干项的和。
总结词
因式分解是将一个多项式表示为若干个因子的乘积形式。例如,多项式x^2-4可以分解为(x+2)(x-2)。因式分解有助于简化多项式和解决与多项式相关的问题。展开是将一个多项式的乘积展开成若干项的和。例如,(x+2)^2可以展开为x^2+4x+4。展开有助于理解多项式的结构和性质。
预测与优化
02
数据分析不仅可以帮助我们理解过去和现在的情况,还可以通过建立预测模型来预测未来的趋势和结果。这有助于我们提前制定计划和策略,优化资源配置,提高效率和效益。

数据结构实验报告完成多项式的运算

数据结构实验报告完成多项式的运算

简单介绍:本次作业力在学会链表表示线性表的插入、删除、查找等基本操作设计与实现,学习利用链表提供的接口去求解实际问题,同时熟悉链表的的存储方法。

再基于线性链表的基础设计完成多项式的相加运算程序。

一、实验目的和要求完成多项式的相加、相乘运算。

(1)掌握线性表的插入、删除、查找等基本操作设计与实现(2)学习利用线性表提供的接口去求解实际问题(3)熟悉线性表的的存储方法二、实验内容和原理1.实验内容设计一个一元多项式的简单计算程序,其基本功能有:(1)输入并建立多项式;(2)输出多项式;(3)多项式的相加运算。

利用单链表实现。

2.实验原理使用单链表实现一元多项式的存储,并实现两个一元多项式的加法运算。

三、实验环境硬件:(1)学生用微机(2)多媒体教室或远程教学(3)局域网环境软件:(1)Windows XP中文操作系统(2)VC6.0四、算法描述及实验步骤1、描述:加法:输入建立一元多项式,进行简单加法运算,输出结果;通过建立单链表A和B分别存放多项式的a和b的各项系数及指数;并且利用A使得不产生新的节点而在A中存放数据运算结果;该过程通过定义指针变量p和q使它们分别指向两个多项式的第一个节点,之后依次比较它们所指向的项的指数,即一种情况指数相等时系数相加且和不为零,修改当前p所指项的系数(和),同时删除q所指项,若和为零则同时删除p和q各自所指;情况二,p当前项指数大于q当前项,将q所指插入p所指之前作为结果项之一;情况三,p当前项指数小于q当前项,p所指作为多项式和的一项,移动p指向下一项,进行比较,在移动p,q至其中以个链空,把另一个链余下节点插在p所指之后;乘法:定义指针p,q指向所操作节点,通过A链表的每一项与B链表各项相乘,指数相加,系数相乘,将值赋给新节点各自域,构成一新的链表,最后返回头结点。

可这样有一个问题,即新生成的链表,即最终结果混乱,没有对数据进行过滤,相同指数项应在执行加法运算,所以可以这样实现,通过A链表的每一项与B链表各项相乘的新生成节点单独构成一链表,并将第一个链表加入另一新链表,循环此操作将后生成的链表加之先前的链表,即可实现排序问题。

MATLAB数据分析与多项式计算实验

MATLAB数据分析与多项式计算实验
>> Ni=1:100;
>> Yi=polyval(p,Ni)
Yi =
Columns 1 through 12
1.0790 1.3671 1.6386 1.8946 2.1360 2.3636 2.5784 2.7812 2.9728 3.1539 3.3252 3.4876
Columns 13 through 24
表8-2lg(x)在11个采样点的函数值
x
1
11
21
31
41
51
61
71
81
91
101
lg(x)
0
1.0414
1.3222
1.4914
1.6128
1.7076
1.7853
1.8513
1.9085
1.9590
2.0043
试求lg(x)的5次拟合多项式p(x),并绘制出lg(x)和p(x)在[1,101]区间的函数曲线。
5、有三个多项式 , , ,试进行以下操作:
(1)求
(2)求 的根
>> A=[1,2,4,0,5];
>> B=[1,2];
>> C=[1,2,3];
>> D=conv(B,C)
D =
1 4 7 6
>> D1=[0,1,4,7,6];
>> P=A+D1
P =
1 3 8 7 11
>> X=roots(p)
3.6415 3.7877 3.9267 4.0592 4.1856 4.3064 4.4222 4.5334 4.6405 4.7437 4.8435 4.9403

多项式运算实训报告

多项式运算实训报告

多项式运算实训报告信息工程学院数据结构实训报告题目:多项式基本运算学号:14090323姓名:卫哲君班级:强化3班目录一、目的概述。

3二、实验(设计)仪器设备和材料清单。

3三、项目分析和设计。

3四、项目关键代码。

4五、项目调试和运行。

10六、实训设计的心得体会。

12数据结构实训设计报告一、目的概述我这次实训的项目主要是多项式基本运算系统,多项式基本运算系统主要实现的是多项式的相加相减相乘和赋值计算。

这次实训的项目主要通过C语言来实现程序的运行,主要通过C语言中的函数调用和链表来做程序,还要用到许多小的知识点,例如:用冒泡法实现排序;scanf、printf语句;while()语句实现循环;if……el se语句实现选择……等等。

二、实验(设计)仪器设备和材料清单1.硬:PC机2.软:turboc2.0,visulac++6.0三、项目分析和设计这个项目的程序可分为几个板块来做,每个板块有每个板块的作用,通过不同程序的不同作用相互调用即可实现整个程序的运行,这个项目程序主要可以分为以下几个板块:1、定义头文:运用#include,#include头文2、定义链表:运用typedefstructNODE{多项式项数和系数和指数信息……}变量名表列;3、对调用函数进行声明:根据所写程序对有些函数进行声明,例如:intInitpolyn(polynomialP);在程序中实现的是构造一个多项式链表P。

4、主函数:Voidmain()为主函数,在主函数中通过while语句和switch……case语句或者printf语句进行选择和函数调用。

Voidmain(){while()……{switch()……}}5、菜单函数:主要用printf语句输出菜单函数,并且还通过主函数调用菜单函数实现对多项式操作的选择。

6、输入多项式的信息:定义函数为intorderinsertpolyn(polynomialP,Nodee)Nodee为链表指针,在此函数中,通过指针的移动实现多项式信息的输入。

数据结构 多项式 实验报告

数据结构 多项式 实验报告

数据结构实验报告实验名称:实验一——多项式的实现学生姓名:班级:班内序号:学号:日期:2011年10月29日1.实验要求实验目的:1.熟悉C++语言的基本编程方法,掌握集成编译环境的调试方法2.学习指针、模板类、异常处理的使用3.掌握线性表的操作的实现方法4.学习使用线性表解决实际问题的能力实验内容:利用线性表实现一个一元多项式Polynomialf(x) = a0 + a1x + a2x2 + a3x3+ … + a n x n要求:1.能够实现一元多项式的输入和输出2.能够进行一元多项式相加3.能够进行一元多项式相减4.能够计算一元多项式在x处的值5.能够计算一元多项式的导数(选作)6.能够进行一元多项式相乘(选作)7.编写测试main()函数测试线性表的正确性2. 程序分析由于多项式是线性结构,故选择线性表来实现,在这个程序中我采用的是单链表结构,每个结点代表一个项,多项式的每一项可以用其系数和指数唯一的表示。

如果采用顺序存储,那么对于结点的插入和删除的操作会比较麻烦,而且顺序表的结点个数固定,对于可能发生的情况无法很好的处理,而采用链表就会简单许多,还能自由控制链表的长度。

两个多项式要进行多次的计算,为了保护原始的数据,方便进行以后的计算,故选择把结果存储在一个新建的链表里。

本程序完成的主要功能:1.输入和输出:需要输入的信息有多项式的项数,用来向系统动态申请内存;多项式各项的系数和指数,用来构造每个结点,形成链表。

输出即是将多项式的内容向屏幕输出。

2.多项式相加与相减:多项式的加减要指数相同即是同类项才能实现,所以在运算时要注意判断指数出现的各种不同的情况,分别写出计算方法。

将每项运算得到的结果都插入到新的链表中,形成结果多项式。

3.多项式的求导运算:多项式的求导根据数学知识,就是将每项的系数乘以指数,将指数减1即可,将每项得到的结果插入到结果多项式的链表中。

4.多项式在某点的值:由用户输入x的值,然后求出每项的值相加即可。

数据分析的实验报告

数据分析的实验报告

数据分析的实验报告实验目的:通过对给定数据集的分析,探究数据分析的方法和技巧,并了解数据分析在实际问题中的应用。

实验原理:数据分析是一种基于统计学和计算机科学的技术,旨在通过收集、清洗、整理和解释数据来发现模式、关联和趋势。

数据分析的过程包括数据收集、数据清洗、数据探索、模型建立与评估等步骤。

实验步骤:1. 数据收集:从给定数据集中获取所需数据。

数据集包含某电商平台用户的购买记录,包括用户ID、购买日期、购买金额等信息。

2. 数据清洗:对收集到的数据进行清洗,去除重复数据、缺失数据,并进行格式统一和数据类型转换。

3. 数据探索:对清洗后的数据进行探索性分析,包括对数据的描述统计和可视化呈现。

常用的描述统计包括平均值、中位数、标准差等指标,通过绘制柱状图、折线图、散点图等方式,可以更直观地展示数据的分布、趋势等特征。

4. 模型建立与评估:根据实际问题的需求,选择合适的数据分析模型进行建立,并通过模型评估来验证模型的准确性和有效性。

常用的模型包括线性回归模型、决策树模型、聚类模型等。

实验结果:1. 数据收集:从给定数据集中成功提取了所需数据,包括用户ID、购买日期和购买金额。

2. 数据清洗:经过数据清洗,去除了重复数据和缺失数据,将购买日期字段转换为日期类型,并对购买金额进行了数据类型转换,确保数据的一致性和准确性。

3. 数据探索:对清洗后的数据进行了描述统计和可视化分析。

通过计算平均购买金额、购买金额的标准差等指标,可以对用户的购买行为有一个初步的了解。

通过绘制柱状图和折线图,可以观察到购买金额的分布情况和趋势。

4. 模型建立与评估:根据实际问题的需求,选择了线性回归模型来预测用户的购买金额。

通过模型评估,得出了模型的拟合优度和预测准确性,验证了模型的有效性。

实验结论:1. 通过对给定数据集的数据分析实验,我们对数据分析的方法和技巧有了更深入的了解,掌握了数据分析的基本步骤和常用模型。

2. 数据分析在实际问题中具有广泛的应用,可以帮助我们发现潜在的模式和趋势,从而做出更好的决策和预测。

多项式运用实验报告

多项式运用实验报告

《数据结构》实验报告实验题目:多项式运用班级:学号:姓名:完成日期:1.需求分析实现实系数一元多项式的创建,打印以及两个一元多项式的加、乘运算。

(1)输入形式和输入值的范围输入要求:分行输入,每行输入一项,先输入多项式的系数,再输入多项式的指数,以0 0为结束标志,结束一个多项式的输入。

输入形式:2.0 31.2 23.4 03.2 20.1 02.5 13.2 31.9 10.4 0输入值的范围:系数为float型,指数为int型。

(2)输出的形式:3.0x^0+2.0x^3-x^-1-2.0x-3.0x^3-x^-1+3.0x^0-2.0x^1-x^3x^-1+3.0x^0+2.0x^1+5.0x^3-3.0x^-1-6.0x^1-2.0x^2-9.0x^3-4.0x^4-6.0x^6(3)程序所能达到的功能:a、根据所输入的多项式每个项的系数和指数,创建两个多项式单链表,结点按升幂排序。

b、按升幂顺序分别输出所创建的两个多项式。

c、求两个多项式的积求并输出积多项式。

d、两个多项式和并输出和多项式。

e、销毁上述4个多项式。

(4)测试数据:第一组数据:输入:2 43 21 52 30 02 36 53 67 44 80 0输出:3.0x^2+2.0x^3+2.0x^4+1.0x^57.0x^3+7.0x^4+6.0x^5+3.0x^6+4.0x^83.0x^2+9.0x^3+9.0x^4+7.0x^5+3.0x^6+4.0x^821.0x^5+35.0x^6+46.0x^7+42.0x^8+25.0x^9+24.0x^10+11.0x^11+8.0x^1 2+4.0x^13第二组数据:输入:4 60 43 35 24 10 02 03 53 64 70 0输出:4.0x^1+5.0x^2+3.0x^3+4.0x^62.0x^0+3.0x^5+3.0x^6+4.0x^72.0x^0+4.0x^1+5.0x^2+3.0x^3+3.0x^5+7.0x^6+4.0x^78.0x^1+10.0x^2+6.0x^3+20.0x^6+27.0x^7+40.0x^8+29.0x^9+12.0x^10+1 2.0x^11+12.0x^12+16.0x^13Press any key to continue第三组数据:输入:-2 12 -33 09 57 -40 0-6 55 -6-3 49 00 0输出:7.0x^-4+2.0x^-3+3.0x^0-2.0x^1+9.0x^55.0x^-6+9.0x^0-3.0x^4-6.0x^55.0x^-6+7.0x^-4+2.0x^-3+12.0x^0-2.0x^1-3.0x^4+3.0x^535.0x^-10+10.0x^-9+15.0x^-6-10.0x^-5+63.0x^-4+18.0x^-3+45.0x^-1+6.0x^0-66.0x^1-12.0x^2-9.0x^4+69.0x^5+12.0x^6-27.0x^9-54.0x^102.概要设计(1)抽象数据类型一元多项式的定义如下:ADT Polynomial{数据对象:D={ai | ai∈TermSet,i=1,2,…,m,m≥0TermSet 中的每个元素包含一个表示系数的实数和表示指数的整数}数据关系:R1={< ai-1,ai>| ai-1, ai∈D,且ai-1中的指数值<ai中的指数值,i=2,…,n}基本操作:CreatPolyn(); //创建多项式,m为项数DestroyPolyn (Polynode &List); //销毁多项式PrintPolyn (Polynode &List); //输出多项式AddPolyn (Polynode &La,Polynode &Lb); //两个多项式相加MultipyPolyn(Polynode &La,Polynode &Lb); //两个多项式相乘} ADT Polynomial(2)主程序的流程图:开始输入两个多项式h1,h2判断h1,h2系数是否为0(3)各模块之间的调用关系如下:主程序模块单向循环列表模块3.详细设计1、1)结点类型typedef struct Pnode {float coef; //系数 int exp; //指数struct Pnode *next; //指向下一结点的指针 }Polynode;2) 基本操作函数如下:Polynode* CreatPolyn() //构造一个空的多项式并按升序排列 {Polynode *List; Polynode *p,*q,*s; int e,i=1; float c;List=(Polynode *)malloc(sizeof(Polynode)); //申请一个新结点List->next=NULL;p=List; //指向头结点 printf("请输入多项式第%d 项的系数和指数(以输入0 0结束): ",i); scanf("%f %d",&c,&e);while(c!=0) // 当系数不等于零时 {调用print()函数,输出,合并过并排好序的h1,h2调用addPoly(h1,h2),合并并输出调用multPoly(h1,h2)合并并输出结 束s=(Polynode*)malloc(sizeof(Polynode)); //申请一个新结点s->coef=c; //赋值s->exp=e;p=List; //p指向头结点q=p->next; //q为p的下一个结点while(q!=NULL&&q->exp<e) //进行循环直到q为空且q的指数大于e时{p=q;q=p->next;}s->next=q; //此时p->exp<s->exp<q->expp->next=s;i++;printf("请输入多项式第%d项的系数和指数(以输入0 0结束):",i);scanf("%f %d",&c,&e);}return(List);}void DestroyPolyn (Polynode &List) //销毁多项式{Polynode *p;Polynode *q;p=List; //p指向头结点q=p->next; //q为p的下一个结点while(q!=NULL) //当q不为空时,释放p,并将p指向下一个结点{free(p);p=q;q=p->next;}free(p); //释放最后一个结点List=NULL; //释放头结点}void PrintPolyn (Polynode &List) //输出多项式{Polynode *p=List->next;while(p!=NULL){printf("%.1fX^%d",p->coef,p->exp);if(p->next&&(p->next->coef)>0) printf("+"); //当后一项不为空且值大于零时输出加号p=p->next;}}Polynode * AddPolyn (Polynode &La,Polynode &Lb) //两个多项式相加{float sum;Polynode *newnode,*Lc;Polynode *p=La->next,*q=Lb->next,*r;Lc=(Polynode *)malloc(sizeof(Polynode)); //建立Lc r=Lc; //r指向Lc while(p!=NULL&&q!=NULL) //当p,q不为空{newnode=(Polynode *)malloc(sizeof(Polynode)); //申请新结点r->next=newnode; //r的下个结点为newnodeif(p->exp<q->exp) //La此时的指数小于Lb的指数{r->next->coef=p->coef; //将La的值赋给Lcr->next->exp=p->exp;r=r->next;p=p->next;}else if(p->exp>q->exp) //Lb此时的指数小于La的指数{r->next->coef=q->coef; //将Lb的值赋给Lcr->next->exp=q->exp;r=r->next;q=q->next;}else //La,Lb指数相等{ sum=(p->coef)+(q->coef); //将p,q的系数相加if(sum!=0) //和不等于0时{p->coef=sum;r->next->coef=p->coef; //和赋给Lcr->next->exp=p->exp; //取La的指数赋给Lcr=r->next;p=p->next;q=q->next;}else //和等于零时{ p=p->next; //跳过,La,Lb直接到下一个结点q=q->next;}}if(p!=NULL) r->next=p; //La未完else r->next=q; //Lb未完}return Lc;}Polynode* MultipyPolyn(Polynode &La,Polynode &Lb) //两个多项式相乘{Polynode *Lc,*newnode,*s;Polynode *p=La->next,*q=Lb->next;Lc=(Polynode *)malloc(sizeof(Polynode)); //建立Lcs=Lc; //s指向Lcwhile(p!=NULL) //La未完{while(q!=NULL) //Lb未完{newnode=(Polynode *)malloc(sizeof(Polynode)); //申请新结点s->next=newnode; //s的下个结点为newnodes=s->next; //s指向下个结点s->coef=(p->coef)*(q->coef); //将La,Lb系数相乘的积赋给新结点的系数s->exp=(p->exp)+(q->exp); //将La,Lb指数相加的和赋给新结点的指数q=q->next;}p=p->next; //p指向下一个结点q=Lb->next; //q从Lb的头结点开始新一轮乘法}s->next=NULL; //Lc的尾指针设为空return Lc;}(3)主函数:int main(){Polynode *La,*Lb,*Lc,*Ld;printf("请输入第一个多项式:\n");La=CreatPolyn( );printf("请输入第二个多项式:\n");Lb=CreatPolyn( );printf("按照升序排列:\n");printf("第一个多项式:\n");PrintPolyn(La);printf("\n");printf("第二个多项式:\n");PrintPolyn(Lb);printf("\n");Lc=MultipyPolyn(La,Lb);printf("积多项式:\n");PrintPolyn(Lc);printf("\n");Ld=AddPolyn(La,Lb);printf("和多项式:\n");PrintPolyn(Ld);printf("\n");DestroyPolyn(La);DestroyPolyn(Lb);DestroyPolyn(Lc);DestroyPolyn(Ld);return 0;}2、各模块流程图1)主程序模块:Main输入第一个多项式La输入第二个多项式Lb按升序排列输出第一个多项式La按升序排列输出第一个多项式Lb输出积多项式输出和多项式销毁四个多项式end2)单向循环列表模块CreatPolyn申请链表的头结点输入多项式第i项的系数和指数c,ewhile(c!=0)?noyes申请一个新结点将c,e赋值给新结点用p指向头结点,q指向p的下一个结点申请一个新结点While(q!=NULL&&q->exp<e)?Yes no遍历链表将s插入p和q之间i++;输入多项式第i项的系数和指数c,eEndDestroyPolyn用p指向头结点,q指向p的下一个结点while(q!=NULL)?yes No释放p,并将p指向下一个结点释放最后一个结点释放头结点EndPrintPolyn用p指向头结点的下一个结点while(p!=NULL)?yes No输出p的系数和指数当后一项不为空且值大于零时输出加号EndAddPolyn建立头结点用r指向头结点while(p!=NULL&&q!=NULL)?no yes申请新结点newnode用r指向newnodeLa指数小于Lb La,Lb指数相等Lb指数小于La La的值赋给Lc 将p,q的系数相加Lb的值赋给Lc和不等于0 和等于零和赋给Lc的系数跳过取La的指数赋给Lc的指数La,Lb直接到下一个结点p,q,r取下个结点La未完Lb未完Lc接La剩余值Lc接La剩余值EndMultipyPolyn建立头结点用s指向头结点while(p!=NULL)?Yes nowhile(q!=NULL)yes no申请新结点用s指向s的下个结点newnode将La ,Lb 系数相乘的积赋给新结点的系数,指数相加的和赋给新结点的指数q=q->next;p 指向下一个结点q 从Lb 的头结点开始新一轮乘法Lc 的尾指针设为空End3、函数的调用关系图4.调试分析内容包括:a .回顾讨论和分析1、在输出多项式时,没有考虑到数的正负,导致出现了+-2.0x^2类似的有歧义的表达。

关于数据分析的实训报告(3篇)

关于数据分析的实训报告(3篇)

第1篇一、引言随着信息技术的飞速发展,数据分析已成为各行各业不可或缺的一部分。

为了提高自身的数据分析能力,我参加了本次数据分析实训课程。

通过为期一个月的实训,我对数据分析的基本概念、方法和应用有了更深入的了解。

以下是我对本次实训的总结报告。

二、实训目的1. 掌握数据分析的基本概念和流程;2. 熟悉常用的数据分析工具和软件;3. 学会运用数据分析解决实际问题;4. 提高数据分析思维和问题解决能力。

三、实训内容1. 数据分析基础知识在实训过程中,我学习了数据分析的基本概念,如数据、数据集、数据仓库等。

同时,了解了数据分析的流程,包括数据收集、数据清洗、数据探索、数据建模、数据可视化等环节。

2. 常用数据分析工具和软件实训期间,我学习了以下常用数据分析工具和软件:(1)Excel:作为最常用的数据分析工具之一,Excel具备强大的数据处理和分析功能。

通过学习,我掌握了Excel的基本操作,如数据筛选、排序、条件格式等。

(2)Python:Python是一种广泛应用于数据分析的编程语言。

实训中,我学习了Python的基本语法和数据结构,并掌握了Pandas、NumPy等数据分析库的使用。

(3)R语言:R语言是一种专门用于统计分析的编程语言。

通过学习,我了解了R 语言的基本语法和常用统计函数,如t-test、ANOVA、回归分析等。

(4)Tableau:Tableau是一款可视化数据分析工具,能够将数据转化为直观的图表。

实训中,我学习了Tableau的基本操作,如创建图表、交互式分析等。

3. 数据分析案例为了提高数据分析能力,我选取了以下案例进行实践:(1)电商用户行为分析通过收集电商平台的用户行为数据,分析用户购买偏好、浏览路径等,为企业提供个性化推荐和精准营销策略。

(2)社交媒体数据分析以某社交媒体平台为例,分析用户发布内容、互动关系等,为平台运营提供数据支持。

(3)股票市场分析通过收集股票市场数据,分析市场趋势、个股表现等,为投资者提供投资建议。

数据分析技术实训报告(3篇)

数据分析技术实训报告(3篇)

第1篇一、引言随着信息技术的飞速发展,大数据时代已经来临。

数据分析技术作为信息时代的重要技术手段,越来越受到各行业的关注。

为了提高自身的数据分析能力,我们团队在导师的指导下,进行了一段时间的数据分析技术实训。

以下是本次实训的报告。

二、实训背景1. 实训目的通过本次实训,我们旨在掌握数据分析的基本理论、方法和技术,提高实际操作能力,为今后从事数据分析工作打下坚实基础。

2. 实训内容本次实训主要包括以下内容:(1)数据分析基本理论(2)数据预处理(3)数据可视化(4)统计分析(5)机器学习(6)实际案例分析三、实训过程1. 数据分析基本理论在实训初期,我们学习了数据分析的基本理论,包括数据挖掘、统计分析、机器学习等方面的知识。

通过学习,我们对数据分析有了更深入的了解,为后续实训奠定了基础。

2. 数据预处理数据预处理是数据分析的重要环节,我们学习了数据清洗、数据整合、数据转换等方面的知识。

在实训过程中,我们运用Python、R等编程语言对数据进行预处理,提高了数据质量。

3. 数据可视化数据可视化是将数据以图形或图像的形式展示出来的过程。

我们学习了多种数据可视化工具,如Tableau、Python的Matplotlib等。

通过实训,我们能够将复杂的数据转化为直观、易懂的图表,为决策提供有力支持。

4. 统计分析统计分析是数据分析的核心环节,我们学习了描述性统计、推断性统计、相关性分析等方面的知识。

通过实训,我们能够运用统计方法对数据进行深入分析,发现数据背后的规律。

5. 机器学习机器学习是数据分析的重要手段,我们学习了线性回归、决策树、支持向量机等机器学习算法。

在实训过程中,我们运用Python的Scikit-learn库对数据进行分析,提高了模型预测准确率。

6. 实际案例分析在实训过程中,我们选取了多个实际案例进行分析,包括电商用户行为分析、金融风险评估等。

通过实际案例分析,我们锻炼了数据分析能力,提高了问题解决能力。

数据分析计算公式实训报告

数据分析计算公式实训报告

一、实训目的本次实训旨在让我们掌握以下内容:1. 熟悉数据分析的基本概念和常用方法;2. 学会运用数学公式和统计方法对数据进行处理和分析;3. 培养我们解决问题的能力,提高数据素养。

二、实训环境1. 数据源:实训过程中,我们使用了Excel、Python等软件进行数据处理和分析;2. 教学资源:教师提供了相关的教材、案例和参考资料;3. 团队合作:在实训过程中,我们分为小组进行讨论和合作,共同完成数据分析任务。

三、实训原理1. 数据处理:通过对数据进行清洗、整理和转换,为后续分析提供准确的数据基础;2. 统计分析:运用统计方法对数据进行描述性、推断性和相关性分析,挖掘数据背后的规律;3. 数据可视化:利用图表、图形等方式将分析结果直观地展示出来,便于理解和传播。

四、实训过程1. 数据处理:首先,我们学习了如何使用Excel进行数据清洗和整理,包括删除重复数据、筛选数据、排序数据等操作。

接着,我们学习了Python中的pandas库,它可以方便地进行数据读取、处理和分析。

2. 描述性分析:通过计算均值、标准差、方差等统计量,对数据进行描述性分析。

例如,我们可以计算一组数据的平均值、最大值、最小值、中位数等。

3. 推断性分析:运用假设检验等方法,对数据进行推断性分析。

例如,我们可以通过t检验或方差分析来检验两组数据是否存在显著差异。

4. 相关性分析:通过计算相关系数,分析两个变量之间的相关程度。

例如,我们可以计算身高与体重之间的相关系数,以了解它们之间的关系。

5. 数据可视化:利用Excel、Python中的matplotlib库等工具,将分析结果以图表、图形的形式展示出来。

例如,我们可以绘制散点图、折线图、柱状图等,以直观地展示数据之间的关系。

五、实训结果通过本次实训,我们掌握了以下技能:1. 熟练运用Excel和Python进行数据处理和分析;2. 掌握了描述性分析、推断性分析和相关性分析方法;3. 能够运用图表、图形等方式将分析结果直观地展示出来。

实验四 数据分析与多项式计算(含实验报告)

实验四 数据分析与多项式计算(含实验报告)

实验四 数据分析与多项式计算一、实验目的1.掌握数据统计和分析的方法。

2.掌握数据插值与曲线拟合的方法及其应用。

3.掌握多项式的常用运算。

二、实验的设备及条件计算机一台(带有MATLAB7.0以上的软件环境)。

设计提示1.参考本节主要内容,学习并理解相关函数的含义及调用方法。

三、实验内容1.请完成教材P134中实验指导环节的实验内容的第1题;2. 请完成教材P134中实验指导环节的实验内容的第2题(此题含两个小题,任选其一完成);3. 请完成教材135中实验指导环节的实验内容第4题;4. 请完成教材135中实验指导环节的实验内容的第5题。

5. 已知某压力传感器的测试数据如下表 p 0.0 1.1 2.1 2.8 4.2 5.06.1 6.9 8.1 9.09.9 u 10 11 13 14 17 1822 24 29 34 39p 为压力值,u 为电压值,试用多项式d cp bp ap p u +++=23)(来拟合其特性函数,求出a,b,c,d ,并把拟合曲线和各个测试数据点画在同一幅图上。

四、实验报告要求(包含预习报告要求和最终报告要求)1.实验名称2.实验目的3.实验设备及条件4.实验内容及要求5.实验程序设计指程序代码。

预习报告要求 最终报告要求6.实验结果及结果分析实验结果要求必须客观,有数据的可以记录数据,没有数据的简单描述实验现象。

结果分析是对实验结果的理论评判。

7.实验中出现的问题及解决方法8. 思考题的回答一、实验报告的提交方式Word文档,命名方式:实验号_你的学号_姓名!!!例如本次实验:实验一_000000001_张三.doc(信息101提交报告邮箱):E_mail: matlab_xx01@(网络工程101提交作业邮箱):E_mail: Matlab_wg01@(注意网络班的M是大写的)下一次课前提交,过期不收!二、参考文献参考教材和Matlab帮助文件。

1.实验名称数据分析与多项式计算2.实验目的1.掌握数据统计和分析的方法。

数据结构多项式求和实验报告

数据结构多项式求和实验报告

1.实验题目设计一种用单链表存储多项式的结构(每个结点存储一项的系数和指数,类型都为int),并编写一个产生多项式链表的函数和一个实现两个多项式相加的函数。

2 .实验内容顺序存储结构的实现。

先输入多项式最高项数,然后按照(系数,指数)的格式输入顺序表类型定义如下:typedef struct term{int coef;int expn;struct term *next;}term,*Polynomial;3.实验要求(1)利用C语言完成算法设计和程序设计。

(2)上机调试通过实验程序。

(3)输入数据,检验程序运行结果。

(4)给出具体的算法分析,包括时间复杂度和空间复杂度。

(5)撰写实验报告。

4.实验步骤与源程序⑴实验步骤首先分析实验内容,要实现多项式求和,必须创建两个函数,然后先建立一个多项式a和多项式b,接着输入每个多项式的系数和指数,再实现多项式a和b的求和将求出的多项式放在多项式a中,最后输出求出的多项式的结果。

⑵源代码#include<stdio.h>#include<stdlib.h>#include<string.h>#include<time.h>#include<malloc.h>/*定义存储结构,用单链表存储多项式,链表中每个结点存储多项式中的一项。

*/typedef struct term{int coef;//定义多项式系数为coefint expn;//定义多项式指数为expnstruct term *next;}term,*Polynomial;void Create_Polynomial(Polynomial *P,int n){ /*建立多项式*/int i;term *t1,*t2;(*P)=(term *)malloc(sizeof(term));(*P)->coef=0;(*P)->expn=0;(*P)->next=NULL;t1=(*P);for(i=0;i<=n;i++){ /*输入每一项的系数和指数*/ t2=(term *)malloc(sizeof(term));scanf("%d,%d",&(t2->coef),&(t2->expn));t1->next=t2;t1=t1->next;}t2->next=NULL;}void Add_Polynomial(Polynomial *a,Polynomial *b){ /*多项式a和多项式b求和,结果存放在a中。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验四 数据分析与多项式计算一、实验目的1.掌握数据统计和分析的方法。

2.掌握数据插值与曲线拟合的方法及其应用。

3.掌握多项式的常用运算。

二、实验的设备及条件计算机一台(带有MATLAB7.0以上的软件环境)。

设计提示1.参考本节主要内容,学习并理解相关函数的含义及调用方法。

三、实验内容1.请完成教材P134中实验指导环节的实验内容的第1题;2. 请完成教材P134中实验指导环节的实验内容的第2题(此题含两个小题,任选其一完成);3. 请完成教材135中实验指导环节的实验内容第4题;4. 请完成教材135中实验指导环节的实验内容的第5题。

5. 已知某压力传感器的测试数据如下表 p 0.0 1.1 2.1 2.8 4.2 5.06.1 6.9 8.1 9.09.9 u 10 11 13 14 17 1822 24 29 34 39p 为压力值,u 为电压值,试用多项式d cp bp ap p u +++=23)(来拟合其特性函数,求出a,b,c,d ,并把拟合曲线和各个测试数据点画在同一幅图上。

四、实验报告要求(包含预习报告要求和最终报告要求)1.实验名称2.实验目的3.实验设备及条件4.实验内容及要求5.实验程序设计指程序代码。

预习报告要求 最终报告要求6.实验结果及结果分析实验结果要求必须客观,有数据的可以记录数据,没有数据的简单描述实验现象。

结果分析是对实验结果的理论评判。

7.实验中出现的问题及解决方法8. 思考题的回答一、实验报告的提交方式Word文档,命名方式:实验号_你的学号_姓名!!!例如本次实验:实验一_000000001_张三.doc(信息101提交报告邮箱):E_mail: matlab_xx01@(网络工程101提交作业邮箱):E_mail: Matlab_wg01@(注意网络班的M是大写的)下一次课前提交,过期不收!二、参考文献参考教材和Matlab帮助文件。

1.实验名称数据分析与多项式计算2.实验目的1.掌握数据统计和分析的方法。

2.掌握数据插值与曲线拟合的方法及其应用。

3.掌握多项式的常用运算。

3.实验设备及条件计算机一台(带有MATLAB7.0以上的软件环境)4.实验内容及要求完成所给实验题以及思考题,题与题之间用相应注释分割。

注意对实验中出现的相关函数或变量,请使用help或doc查询相关帮助文档,学习函数的用法。

5.实验程序设计%1.1disp('第1(1)题');A=randn(10,5);B=mean(A);C=std(B,0,2);disp('randn函数生成的10*5随机矩阵A中'); disp('A为:');disp(A);disp('A各列元素的均值为:');disp(B);disp('标准方差为:');disp(C);%1.2disp('第1(2)题');D=min(min(A));E=max(max(A));disp('randn函数生成的10*5随机矩阵A中'); disp('最小元素为:');disp(D);disp('最大元素为:');disp(E);%1.3disp('第1(3)题');F=sum(A,2);disp('A每行元素的和为:')disp(F);G=sum(sum(A));disp('全部元素之和为:')disp(G);%1.4disp('第1(4)题');disp('A的每列元素按升序排序:')H=sort(A);disp(H)disp('A的每行元素按降序排序:')I=sort(A,2,'descend');disp(I)%2disp('第二题')N=1:100;Y=sqrt(N);disp(' N=1');disp('√N=');X1=interp1(N,Y,1,'cublic');disp(X1); disp(' N=4');disp('√N=');X2=interp1(N,Y,4,'cublic');disp(X2); disp(' N=9');disp('√N=');X3=interp1(N,Y,9,'cublic');disp(X3); disp(' N=16');disp('√N=');X4=interp1(N,Y,16,'cublic');disp(X4); disp(' N=25');disp('√N=');X5=interp1(N,Y,25,'cublic');disp(X5); disp(' N=36');disp('√N=');X6=interp1(N,Y,36,'cublic');disp(X6); disp(' N=49');disp('√N=');X7=interp1(N,Y,49,'cublic');disp(X7); disp(' N=64');disp('√N=');X8=interp1(N,Y,64,'cublic');disp(X8); disp(' N=81');disp('√N=');X9=interp1(N,Y,81,'cublic');disp(9);disp(' N=100');disp('√N=');X10=interp1(N,Y,100,'cublic');disp(X10);%3disp('第三题');disp('两个多项式P(x)=2x^4-3x^3+5x+13,Q(x)=x^2+5x+8,试求P(x)、P(x)Q(x)以及P(x)/Q(x)的导数');P=[2,-3,5,0,13];Q=[1,5,8];disp('(注意:系数矩阵,从左到右幂依次递减,最后一个幂为0,即x^0!)'); disp('P(x)的导数系数矩阵为:')f=polyder(P);disp(f);disp('P(x)Q(x)的导数系数矩阵为:');g=polyder(P,Q);disp(g);disp('P(x)/Q(x)的导数系数矩阵为:')[p,q]=polyder(P,Q);disp('分子:');disp(p);disp('分母:');disp(q);%4disp('第四题');disp('有3个多项式P1(x)=x^4+2x^3+4x^2+5,P2(x)=x+2,P3(x)=x^2+2x+3,试进行下列操作:');disp('(注意:系数矩阵,从左到右幂依次递减,最后一个幂为0,即x^0!)'); disp('(1)求P(x)=P1(x)+P2(x)P3(x)。

');P1=[1,2,4,0,5];P2=[1,2];P3=[1,2,3];P4=[0,conv(P2,P3)];P5=P1+P4;disp('解:P(x)的系数矩阵为:')disp(P5);disp('(2)求P(x)的根。

');P6=[1,2,4,0,5];P7=roots(P6);disp('解:P(x)的根为');disp(P7);disp('(3)当x取矩阵A的每一元素时,求P(x)的值。

其中');disp('A=');P8=[-1,2,-1.4;0.75,2,3.5;0,5,2.5];disp(P8);P9=polyval(P5,P8);disp('解:P(x)的值为:');disp(P8);disp('(4)当以矩阵A为自变量时,求P(x)的值。

其中A的值与(3)相同。

'); disp('(注意1:输入时,以"["为开头,以"]"为结尾,以","为元素间隔,以";"为下一行。

');disp('(注意2:输入时注意检查输入的元素是否为矩阵!');P10=input('解:请输入矩阵A的值:');P11=polyval(P5,P10);disp('则,P(x)的值为:');disp(P11);%5disp('第五题');t=[0,1.1,2.1,2.8,4.2,5,6.1,6.9,8.1,9,9.9]; y=[10,11,13,14,17,18,22,24,29,34,39];p=polyfit(t,y,3);disp('a,b,c,d分别为:');disp(p);yi=polyval(p,t);grid on;box on;plot(t,y,':O',t,yi,'-*')title('某压力传感器的测试数据线性图'); xlabel('x 轴');ylabel('y 轴');6.实验结果及结果分析7.实验中出现的问题及解决方法问题:第4(4)题中,输入数值时报错。

解决:没有按照矩阵的规格进行输入,"["与"]"两个符号忘记添加。

相关文档
最新文档