数学建模是用数学方法解决各种实际问题的桥梁,它已经渗透到各个领域,而且发挥出越来越重要的作用。面对自然科学和工程应用中的难题,大部分人无从入手,而个别人却能短时间内给出切实可行的解决方案,其差别往往在于驾驭数学知识的能力不同。现代计算机技术的应用不仅减少了计算错误,而且加强了数学应用者解决问题的能力。MATLAB是一款常用的数据处理软件,为了更好的应用MATLAB软件,我将整理好的MATLAB函数分享到今日头条上,以利己利人查阅。

MATLAB提供的很多数据分析与统计函数都是面向列的,即矩阵中的每一列代表一个变量的多个观测值,其列数对应于变量数,行数对应于测量点数。

max和min函数可求出数据的最大值和最小值,mean和std函数可求出数据的均值和标准差,sum和prod函数可求出数据元素和与数据元素积。例如,对MATLAB内含的某城市24小时的车流量数据count.dat可作分析:

load count.dat

mx=max(count)

mx = 114 145 257

mu=mean(count)

mu = 32.0000 46.5417 65.5833

sigma=std(count)

sigma = 25.3703 41.4057 68.0281

对有些函数还可给出位置,例如,在求出最小值的同时,可得到最小值所在的位置(行号):

[mx,indx]=min(count)

mx = 7 9 7

indx = 2 23 24

1、协方差和相关系数

cov函数可以求出单个变量的协方差,而corrcoef函数可求出两个变量之间的相关系数,例如:

cv=cov(count)

cv = 1.0e+003 *

0.6437 0.9802 1.6567

0.9802 1.7144 2.6908

1.6567 2.6908 4.6278

cr=corrcoef(count)

cr =

1.0000 0.9331 0.9599

0.9331 1.0000 0.9553

0.9599 0.9553 1.0000

2、数据预处理

在MATLAB中遇到超出范围的数据时均用NaN (非数值) 表示,而且在任何运算中,只要包含NaN,就将它传递到结果中,因此在对数据进行分析前,应对数据中出现的NaN作剔除处理。例如:

a=[1 2 3;5 NaN 8;7 4 2];

sum(a)

ans = 13 NaN 13

在矢量x中删除NaN元素,可有下列四种方法:

(1) ?i=find(~isnan(x));x=x(i)。

(2) ?x=x(find(~isnan(x)))。

(3) ?x=x(~isnan(x))。

(4) ?x(isnan(x))=[ ]。

在矩阵X中删除NaN所在的行,可输入

X(any(isnan(X)'),:)=[ ];

经过这种预处理后的数据,可进行各种分析和统计操作。

3、回归和曲线拟合

对给定的数据进行拟合,可采用多项式回归,也可采用其它信号形式的回归,其基本原理是最小二乘法,这一功能实现在MATLAB中显得轻而易举。

例1:设通过测量得到一组时间t与变量y的数据:

t=[0 .3 .8 1.1 1.6 2.3];

y=[0.5 0.82 1.14 1.25 1.35 1.40];

进行回归,可得到两种不同的结果。MATLAB程序如下:

t=[0 .3 .8 1.1 1.6 2.3]';

y=[.5 .82 1.14 1.25 1.35 1.40]';

X1=[ones(size(t)) t t.^2];

a=X1\y;

X2=[ones(size(t)) exp(–t) t.*exp(–t)];

b=X2\y;

T=[0:.1:2.5]';

Y1=[ones(size(T)) T T.^2]*a;

Y2=[ones(size(T)) exp(-T) T.*exp(-T)]*b;

figure(1)

subplot(1,2,1)

plot(T,Y1,'-',t,y,'o'),grid on

title('多项式回归')

subplot(1,2,2)

plot(T,Y2,'-',t,y,'o'),grid on

title('指数函数回归')

例2 已知变量y与x1,x2有关,测得一组数据为

x1=[.2 .5 .6 .8 1.0 1.1 ]';

x2=[.1 .3 .4 .9 1.1 1.4 ]';

y=[.17 .26 .28 .23 .27 .24]';

采用来拟合,则有

x1=[.2 .5 .6 .8 1.0 1.1]';

x2=[.1 .3 .4 .9 1.1 1.4]';

y=[.17 .26 .28 .23 .27 .24]';

X=[ones(size(x1)) x1 x2];

a=X\y

a = 0.1018 0.4844 −0.2847

因此数据的拟合模型为

y=0.1018+0.4844x1−0.2487x2

4、傅里叶分析与FFT

利用MATLAB提供的FFT函数可方便地计算出信号的傅里叶变换,从而在频域上对信号进行分析。

例1 :混合频率信号成分分析。有一信号x由三种不同频率的正弦信号混合而成,通过得到信号的DFT,确定出信号的频率及其强度关系,程序如下:

t=0:1/119:1;

x=5*sin(2*pi*20*t)+3*sin(2*pi*30*t)+sin(2*pi*45*t);

y=fft(x);

m=abs(y);

f=(0:length(y) -1)'*119/length(y);

figure(1)

subplot(2,1,1),plot(t,x),grid on

title('多频率混合信号')

ylabel('Input \itx'),xlabel('Time ')

subplot(2,1,2),plot(f,m)

ylabel('Abs. Magnitude'),grid on

xlabel('Frequency (Hertz)')

例2 :信号在传输过程中,由于受信道或环境影响,在接收端得到的是噪声环境下的信号。我们利用FFT函数对这一信号进行傅里叶分析,从而确定信号的频率,程序如下:

t=0:1/199:1;

x=sin(2*pi*50*t)+1.2*randn(size(t)); %噪声中的信号

y=fft(x);

m=abs(y);

f=(0:length(y) -1)'*199/length(y);

figure(1)

subplot(2,1,1),plot(t,x),grid on

title('信号检测')

ylabel('Input \itx'),xlabel('Time ')

subplot(2,1,2),plot(f,m)

ylabel('Abs. Magnitude'),grid on

xlabel('Frequency (Hertz)')

例3 :天文学家记录了300年来太阳黑子的活动情况,我们对这组数据进行傅里叶分析,从而得出太阳黑子的活动周期。MATLAB程序如下:

load sunspot.dat

year=sunspot(:,1);

wolfer=sunspot(:,2);

figure(1)

subplot(2,1,1)

plot(year,wolfer)

title('原始数据')

Y=fft(wolfer);

N=length(Y);

Y(1)=[];

power=abs(Y(1:N/2)).^2;

nyquist=1/2;

freq=(1:N/2)/(N/2)*nyquist;

period=1./freq;

subplot(2,1,2)

plot(period,power)

title('功率谱'), grid on

axis([0 40 0 2e7])

各位读者朋友,感谢您的阅读,您若对工程应用中的数学问题感兴趣,欢迎关注我,愿我们一起讨论和成长!!!

matlab怎么分析数据,MATLAB应用——数据分析与统计相关推荐

  1. matlab股价分析论文,matlab股票分析:MATLAB怎样获取实时股市行情数据

    1Sina股 据接 口 以大秦 (股票 :601006)为例,如 果要获取它的最新行情, 只 问新浪 的股票数据 接口: http://hq.sinajs.cn/list=sh601006 这个url ...

  2. 目标层准则层MATLAB,层次分析法-MATLAB

    层次分析法-MATLAB 第八章 层次分析法 层次分析法(Analytic Hierarchy Process,简称AHP)是对一些较为复杂.较为模糊的问题作出决策的简易方法,它特别适用于那些难于完全 ...

  3. matlab神经网络预测数据,matlab神经网络工具箱

    什么是matlab神经网络 Matlab语言是MathWorks公司推出的一套高性能计算机编程语言,集数学计算.图形显示.语言设计于一体,其强大的扩展功能为用户提供了广阔的应用空问. 它附带有30多个 ...

  4. matlab引入外部数据,matlab引入外部数据

    (1)适用与 matlab 等非编译语言. (2)适用与 C 和 Fortran 等编译语言. B. 如何在外部程序中告诉 ANSYS 改变单元属性和载荷变化: 在从 ANSYS 中导入数据后.... ...

  5. matlab中分析数据规律,matlab中数据的统计描述和分析

    少年易学老难成,一寸光阴不可轻 - 百度文库 122 第十章 数据的统计描述和分析 数理统计研究的对象是受随机因素影响的数据,以下数理统计就简称统计,统计是以概率论为基础的一门应用学科. 数据样本少则 ...

  6. matlab振动信号数据,Matlab在场地微振动信号数据处理中的应用

    1前言地微振动信号是在场地利用高灵敏度仪器观测到的一种随时间变化的微弱随机振动.它包涵着丰富的地球物理信息.但是,场地微振动对外界干扰极为敏感,如车辆通行.施工振动.人员走动甚至天气变化等.另一方面, ...

  7. matlab股票分析系统,matlab股票预测系统,matlab股票决策

    内容导航: Q1:BP神经网络预测股票的Matlab的m文件 BP神经网络预测股票的Matlab的m文件,一般吧 Q2:matlab 数据预测 对于第一个问题没看懂 式子已知 代入自变量就有结果 这就 ...

  8. matlab传热分析,基于matlab的超临界流体对流传热可视化分析方法

    基于matlab的超临界流体对流传热可视化分析方法 [技术领域] [0001]本发明涉及一种基于MATLAB的管内超临界流体对流传热可视化分析方法,属于MATLAB应用技术领域. [背景技术] [00 ...

  9. matlab读取grib2数据,matlab读取grib2数据

    2018 基于通用模型的 GRIB 格式数据读取技术 王兵,李杰 (1. 南京航空航天大学 民航学院,江苏 南京 211106;2. 国家空管飞行流量技术重点实验室,江苏 南京 211106) 摘要: ...

  10. matlab如何excel数据,Matlab如何读取Excel里的数据

    Matlab如何读取Excel里的数据呢?一起看看下面这篇文章吧! 我们可以使用xlswrite,用法是这样的:xlswrite('Excel路径+Excel的名称','需要输出的矩阵名称')当然,如 ...

最新文章

  1. java 时间加减_Java中时间加减的比较
  2. UVA 10795 新汉诺塔问题
  3. 对Unity的Resources目录进行改名
  4. JavaScript学习随记——Function
  5. 吴恩达《机器学习》学习笔记十四——应用机器学习的建议实现一个机器学习模型的改进
  6. intention lock_写作技巧:你写出来的情节有用吗?好情节的原则——LOCK系统
  7. 计算机网络之万维网WWW
  8. UC手游平台九游已成与91手机助手、360并列的国内三大手机游戏平台
  9. iPhone6 iPhone6 Plus 屏幕分辨率、尺寸的问题
  10. 【jzoj5055】【GDOI2017模拟二试4.12】【树上路径】【点分治】
  11. ToolStrip工具条
  12. SAP 散装物料作用及设置
  13. 关于服务端与客户端的数据交互
  14. 自制表情包!android,PicsArt定制专属表情包-PicsArt表情包自制软件下载-乐游网安卓下载...
  15. 最受欢迎的14款渗透测试工具
  16. Fluent API
  17. 城市餐饮店铺选址分析
  18. 我是一个搞IT的农民工
  19. Shell 脚本进入编辑模式和保存退出
  20. Idea配置、连接MySQL数据库

热门文章

  1. [日更-2019.5.21] Android 系统的分区和文件系统(一)--Android分区的大概框架
  2. 按下Backspace键,就会跳转到上一个页面。JavaScript屏蔽Backspace键处理,禁用Backspace键。
  3. 《心灵捕手》中的10段经典台词(10 classic lines from Good Will Hunting)
  4. CH6803 导弹防御塔
  5. gif图片裁切、压缩导出无水印图片(保姆级教程,亲测可用)
  6. Learning Agile software Development
  7. 代码实现-pack_padded_sequence()与pad_packed_sequence()
  8. MySQL-14使用子查询-必知必会
  9. 股市一跌再跌,是在提醒我们什么?
  10. 为什么总是封板又打开涨停_股票涨停板被反复打开,收盘又封住涨停,其实主力是这个目的...