(一)数据处理统计

一、最大值和最小值

1、求向量的最大值和最小值

y=max(X);    %返回向量X的最大值存入y,如果X中含有复数则按模最大的存入y
[y,I]=max(X);%返回向量X的最大值存入y,如果X中含有复数则按模最大的存入y;最大值的序号存入I。

求最小值min的用法与max完全相同。

2、求矩阵的最大值和最小值

max(A);         %返回一个行向量,向量的第i个元素是矩阵A的第i列上的最大值
[Y,U]=max(A); %返回行向量A和U,Y向量记录A的每列的最大值,Y记录每列的最大值的序号。
max(A,[],dim); %dim取1时,就跟max(A)完全相同,dim取2时,函数返回一个列向量,其第i个元素是A矩阵的第i行上的最大值。

3、两个矩阵或矩阵对应元素的比较

U=max(A,B);  %A,B是两个同型的向量或矩阵,结果U是与A,B同型的向量或者矩阵,U的每个元素等于A,B对应元素的最大值。
U=max(A,n); %n是一个标量,结果U是与A同型的向量或者矩阵,U的每个元素等于A对应元素和n的较大值。

二、求和与求积

sum(X);  %返回向量X各元素的和。
prod(X); %返回向量X各元素的乘积。
sum(A); %返回一个行向量,其第i个元素是A的第i列的元素和
prod(A); %返回一个行向量,其第i个元素是A的第i列的元素乘积
sum(A,dim); %当dim=1时,与sum(A)相同,dim=2时,返回一个列向量,其第i个元素是A的第i行各元素之和。
prod(A,dim); %当dim=1时,与sum(A)相同,dim=2时,返回一个列向量,其第i个元素是A的第i行各元素之乘积。

三、平均值和中值

mean(X);     %返回向量X的算术平均值
median(X); %返回向量X的中值
mean(A); %返回一个行向量,其第i个元素是A的第i列的算术平均值
median(A); %返回一个行向量,其第i个元素是A的第i列的中值。
mean(A,dim); %dim=1;与mean(A)相同,dim=2时,返回一个列向量,其第i个元素是A的第i行的算术平均值。
median(A,dim); %dim=1;与median(A)相同,dim=2时,返回一个列向量,其第i个元素是A的第i行的中值。

四、累加和与累乘和

cumsum(X);     %返回向量X累加和向量
cumprod(X); %返回向量X累乘积向量
cumsum(A); %返回一个矩阵,其第i列是A的第i列的累加和向量
cumprod(A); %返回一个矩阵,其第i列是A的第i列的累乘积向量
cumsum(A,dim); %dim=1时,等同于cumsum(A);dim=2时,返回一个矩阵,其第i行是A的第i行的累加和向量。
cumprod(A,dim);%dim=1时,等同于cumprod(A);dim=2时,返回一个矩阵,其第i行是A的第i行的累乘积向量。

五、标准方差和相关系数

1、标准方差

(1)样本标准方差:

(2)总体标准方差:

(3)MATLAB封装方法:

Y=std(A,flag,dim);
%A是向量时,返回一个标准方差。A是矩阵时,返回一个行向量,它的各个元素便是矩阵A各列的标准方差。
%dim=1,取各列的标准方差,dim=2时,取各行的标准方差。
%flag=0,取样本标准方差。flag=1,取总体标准方差
%flag=0,dim=1,为缺省默认值。

2、相关系数

(1)定义:

(2)MATLAB封装方法:

corrcoef(X);  %返回从矩阵X形成的一个相关系数矩阵,此系数矩阵的大小与X相同,每一列为当前列与每一列的相关系数的值。
corrcoef(X,Y);%在这里X,Y为向量,与corrcoef(X,Y)的作用相同。

六、排序

[Y,I]=sort(A,dim);%dim=1对列排序,dim=2对行进行排序。Y为排序后的矩阵,I记录Y中元素在A的位置。
%sort函数为升序排序
sort(A); %对A的每列升序排序;
-sort(-A);%对A的每列降序排序;

(二)数据插值

一、一维数据插值

Y1=interp1(X,Y,X1,'method');
    %X,Y是已知的两个等长的向量,分别描述采样点和样本值。X1为一个向量或者标量,描述欲插值的点。Y1是一个X1等长的插值的结果
%method为插值方法:
%linear:线性插值,默认的插值方法。把与插值点靠近的两个数据点用直线连接,然后在直线上选取对应插值点的数据。
%nearest:最近点插值,根据已知插值点与已知数据点的远近程度进行查插值。插值点有限选择比较近的数据点进行插值操作。
%cubic:三次多项式插值,根据已知数据求出一个三次多项式,然后根据该多项式进行插值
%spline:三次样条插值,在每个分段区间内构造一个三次多项式,使得其插值函数满组成插值条件外,还要求在各节点处具有光滑的条件。

其中三次样条插值的效果最好,然后MATLAB中有一个专门用于三次样条插值的方法:

Y1=spline(X,Y,X1);

一个demo:

X=6:2:18;
Y=[18,20,22,25,30,28,24];
X1=6.5:1:18.5; subplot(2,2,1);
plot(X,Y,'b');
hold on;
Y1=interp1(X,Y,X1,'linear');
plot(X1,Y1,'r');
title('linear'); subplot(2,2,2);
plot(X,Y,'b');
hold on;
Y1=interp1(X,Y,X1,'nearest');
plot(X1,Y1,'r');
title('nearest'); subplot(2,2,3);
plot(X,Y,'b');
hold on;
Y1=interp1(X,Y,X1,'cubic');
plot(X1,Y1,'r');
title('cubic'); subplot(2,2,4);
plot(X,Y,'b');
hold on;
Y1=interp1(X,Y,X1,'spline');
plot(X1,Y1,'r');
title('spline');

可以看出最好的就是三次样条插值以及三次插值。

二、二维数据插值

Z1=interp2(X,Y,Z,X1,Y1,method');

调用方法和格式都与一位数据插值相同。

然后直接上个demo

x=0:2.5:10;
h=[0:30:60]';
T=[95,14,0,0,0
88,48,32,12,6
67,64,54,48,41];
xi=[0:0.1:10];
hi=[0:60]';
TI=interp2(x,h,T,xi,hi);
surf(xi,hi,TI);
shading interp;

(三)曲线拟合

[P,S]=polyfit(X,Y,m)

产生一个m次多项式P,以及在采样点的误差向量S,其中X,Y是两个等长向量,P是一个长度为m+1的向量,P的元素为多项式系数。

(四)离散傅里叶变换

一、离散傅里叶变换算法简介

二、离散傅里叶变换的实现

(1)fft(X):返回向量X的离散傅里叶变换。设X的长度(即元素个数)为N,若N为2的幂次,则为以2为基数的快速傅里叶变换,否则为运算速度很慢的非2幂次

的算法。对于矩阵X,fft(X)应用于矩阵的每一列。

(2)fft(X,N):计算N点傅里叶变换。它限定向量的长度为N,若X的长度小于N,则不足部分补上零;若大于N,则删去超出N的那些元素。对于矩阵X,它同样应

用于矩阵的每一列,只是限定了向量的长度为N。

(3)fft(X,[],dim)或fft(X,N,dim):这是对于矩阵的调用格式,前者的功能与FFT(X)基本相同,而后者则与FFT(X,N)基本相同。知识当参数dim=1时,作用于X

的每一列,当dim=2时,作用于X的每一行。

(五)多项式计算

一、多项式的四则运算

1、多项式的加减运算

= =,其实就是直接将系数提出来弄成向量,然后进行相加减就好了。。

2、多项式的乘法运算

conv(P1,P2)  %P1,P2是两个多项式系数向量

3、多项式的除法运算

[Q,r]=deconv(P1,P2)   %Q返回的是P1除以P2的商式,r返回P1除以P2的余式。Q和r仍是多项式系数向量。

二、多项式的导函数

p=polyder(P)      %求多项式P的导函数
p=polyder(P,Q) %求P*Q的导函数
[p,q]=polyder(P,Q) %求P/Q的导函数,导函数的分子存入p,分母存入q。

三、多项式的求值

1、代数多项式求值

Y=polyval(P,x)       %若x为一数值,则求多项式在该店的值;若x为向量或矩阵,则对向量或者矩阵的每个元素求多项式的值。

2、矩阵多项式求值

Y=polyvalm(P,x)

以方阵为自变量求多项式的值。设A为方阵,P代表多项式。

四、多项式求根

1、求根方法

x=roots(P)

2、若已知全部根,则可以得到多项式

P=poly(x)

MATLAB学习笔记(六)——MATLAB数据分析与多项式计算的更多相关文章

  1. matlab第六章数据分析与多项式计算

    MATLAB练习 第六章数据分析与多项式计算 1.max和min 1.分别求矩阵A中各列和各行元素中的最大值.max和min的用法一样 % [例6.1]分别求矩阵中各列和各行元素中的最大值. A=[5 ...

  2. Matlab学习笔记1—MATLAB基础知识

    1.1  MATLAB系统环境 1.MATLAB操作界面的组成 (1)MATLAB主窗口 (2)命令行窗口:命令行窗口用于输入命令并显示命令的执行结果. (3) 当前文件夹窗口 如何设置当前文件夹呢? ...

  3. Matlab学习笔记 figure函数

    Matlab学习笔记 figure函数 matlab中的 figure 命令,能够创建一个用来显示图形输出的一个窗口对象.每一个这样的窗口都有一些属性,例如窗口的尺寸.位置,等等.下面一一介绍它们. ...

  4. matlab学习笔记 bsxfun函数

    matlab学习笔记 bsxfun函数 最近总是遇到 bsxfun这个函数,前几次因为无关紧要只是大概看了一下函数体去对比结果,今天再一次遇见了这个函数,想想还是有必要掌握的,遂查了些资料总结如下. ...

  5. matlab学习笔记(一)单元数组

    matlab学习笔记(一)单元数组 1.floor(x) :取最小的整数 floor(3.18)=3,floor(3.98)=3 ceil(x)  :取最大的整数 ceil(3.18)=4,ceil( ...

  6. matlab学习笔记---(1)

    Matlab学习笔记 一. Desktop Basics (Matlab 基础知识) 当你打开Matlab的时候,matlab按照以下默认的方式展示出来. 该桌面主要包括以下几部分内容: 当前文件夹: ...

  7. 【数学建模】MATLAB学习笔记——函数式文件

    MATLAB学习笔记——函数式文件 引入函数式文件 说明: 函数式文件主要用于解决计算中的参数传递和函数调用的问题. 函数式的标志是它的第一行为function语句. 函数式文件可以有返回值,也可以没 ...

  8. java之jvm学习笔记六-十二(实践写自己的安全管理器)(jar包的代码认证和签名) (实践对jar包的代码签名) (策略文件)(策略和保护域) (访问控制器) (访问控制器的栈校验机制) (jvm基本结构)

    java之jvm学习笔记六(实践写自己的安全管理器) 安全管理器SecurityManager里设计的内容实在是非常的庞大,它的核心方法就是checkPerssiom这个方法里又调用 AccessCo ...

  9. Learning ROS for Robotics Programming Second Edition学习笔记(六) indigo xtion pro live

    中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...

  10. Typescript 学习笔记六:接口

    中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...

随机推荐

  1. ASP.NET MVC中通过Request.IsAjaxRequest()来判断是否要加载公共视图

    个人目测 Request.IsAjaxRequest()这个东西是判断前台提交过来的header中的 X-Requested-With:XMLHttpRequest来区分是不是ajax请求的. ASP ...

  2. shell 删除文件下的* (copy).jpg备份文件

    shell编程中,  在for, while循环中为什么不用(), {} 不是没有; 而是因为(), {}做了其他用途: (): 执行命令组, 注意这个命令组是新开一个子shell中执行, 因此,括号 ...

  3. 理解javascript中的策略模式

    理解javascript中的策略模式 策略模式的定义是:定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换. 使用策略模式的优点如下: 优点:1. 策略模式利用组合,委托等技术和思想,有效 ...

  4. Sqlserver日期函数应用

    1.获取当前时间 SELECT  GETDATE() AS '当前日期' ,         DATENAME(year, GETDATE()) AS '年' ,         DATENAME(m ...

  5. @version ||= version

    # -*- encoding : utf-8 -*- class InterfaceBaseController < ActionController::Base private def set ...

  6. MFC加载皮肤 转自:http://www.cctry.com/thread-4032-1-1.html

    VC皮肤库SkinSharp 1.0.6.6的使用: SkinSharp又称Skin#,是Windows环境下一款强大的换肤组件.SkinSharp作为换肤控件,只需要在您的程序中添加一行代码,就能让 ...

  7. Linux / UNIX create soft link with ln command

    How to: Linux / UNIX create soft link with ln command by NIXCRAFT on SEPTEMBER 25, 2007 · 42 COMMENT ...

  8. linux rsync +inotify 实现 实时同步

    前言:     rsync可以实现触发式的文件同步,但是通过crontab守护进程方式进行触发,同步的数据和实际数据会有差异,而inotify可以监控文件系统的各种变化,当文件有任何变动时,就触发rs ...

  9. PHP网页数据正则采集

    $url ="https://********"; $contents = file_get_contents($url); //抓取页面数据 //如果出现中文乱码使用下面代码 / ...

  10. ios图标和默认图像

    Icon.png和Default.png是两个重要的图像文件.Icon.png充当应用程序的图标,这些图标用于在SpringBoard主屏幕上表示应用程序.Default.png(也称"启动 ...