matlab指数函数

matlab指数函数

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

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

Max和min函数可以找到数据的最大值和最小值,mean和std函数可以找到数据的平均值和标准差,sum和prod函数可以找到数据元素的和与积。例如,可以分析MATLAB中包含的某个城市的24小时交通数据count.dat:

加载计数. dat

mx =最大值(计数)

mx = 114 145 257

mu =平均值(计数)

mu = 32.0000 46.5417 65.5833

西格玛=标准值(计数)

西格玛= 25.3703 41.4057 68.0281

对于某些函数,也可以给出位置,比如在求最小值的同时,可以得到最小值的位置(行号):

[mx,indx]=最小值(计数)

mx = 7 9 7

indx = 2 23 24

1、协方差和相关系数

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

cv=cov(计数)

cv = 1.0e+003 *

0.6437 0.9802 1.6567

0.9802 1.7144 2.6908

1.6567 2.6908 4.6278

cr=corrcoef(计数)

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南8;7 4 2];

总和(a)

安= 13南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)& # 39;),:)=[ ];

经过这种预处理后,可以对数据进行分析和统计运算。

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]& # 39;;

y =[. 5 . 82 1.14 1.25 1.35 1.40]& # 39;;

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]& # 39;;

y1 =[ones(size(t))t t.^2]*a;

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

图(1)

子情节(1,2,1)

plot(T,Y1,& # 39;-',t,y,& # 39;o & # 39),网格打开

标题(& # 39;多项式回归& # 39;)

次要情节(1,2,2)

plot(T,Y2,& # 39;-',t,y,& # 39;o & # 39),网格打开

标题(& # 39;指数函数回归& # 39;)

示例2已知变量Y与x1和x2相关,并且如下测量一组数据

x1 =[. 2 . 5 . 6 . 8 1.0 1.1]& # 39;;

x2 =[. 1 . 3 . 4 . 9 1.1 1.4]& # 39;;

y =[. 17 . 26 . 28 . 23 . 27 . 24]& # 39;;

使用适合,有

x1 =[. 2 . 5 . 6 . 8 1.0 1.1]& # 39;;

x2 =[. 1 . 3 . 4 . 9 1.1 1.4]& # 39;;

y =[. 17 . 26 . 28 . 23 . 27 . 24]& # 39;;

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

a=X\y

a = 0.1018 0.4844 0.2847

因此,数据的拟合模型为

y = 0.1018+0.4844 x1 0.2487 x2

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)& # 39;* 119/长度(y);

图(1)

子情节(2,1,1),情节(t,x),网格打开

标题(& # 39;多频混合信号& # 39;)

y label(& # 39;输入\ itx & # 39),xlabel(& # 39;时间& # 39;)

次要情节(2,1,2),情节(f,m)

y label(& # 39;腹肌。量级& # 39;),网格打开

xlabel(& # 39;频率(赫兹)& # 39;)

例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)& # 39;* 199/长度(y);

图(1)

子情节(2,1,1),情节(t,x),网格打开

标题(& # 39;信号检测& # 39;)

y label(& # 39;输入\ itx & # 39),xlabel(& # 39;时间& # 39;)

次要情节(2,1,2),情节(f,m)

y label(& # 39;腹肌。量级& # 39;),网格打开

xlabel(& # 39;频率(赫兹)& # 39;)

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

加载黑子. dat

年份=黑子(:,1);

wolfer =黑子(:,2);

图(1)

子情节(2,1,1)

情节(年,沃尔弗)

标题(& # 39;原始数据& # 39;)

y = FFT(wolfer);

n =长度(Y);

y(1)=[];

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

奈奎斯特= 1/2;

freq =(1:N/2)/(N/2)*奈奎斯特;

周期=1。/freq;

次要情节(2,1,2)

绘图(周期、功率)

标题(& # 39;功率谱& # 39;),网格打开

坐标轴([0 40 0 2e7])

亲爱的读者,感谢您的阅读。如果你对工程应用中的数学问题感兴趣,请关注我。让我们一起讨论,一起成长!!!

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。

发表回复

登录后才能评论