matlab两组数据的相关度,怎么分析两组数据的相关性?比如A=【1 2 3 4 5 6 7 】 B=【2 3 4 5 6 7 8】 最好用MATLAB...

怎么分析两组数据的相关性?比如A=【1 2 3 4 5 6 7 】 B=【2 3 4 5 6 7 8】 最好用MATLAB

关注:261  答案:2  手机版

解决时间 2021-01-12 04:49

提问者不再打扰你

2021-01-11 19:50

建模用!急

最佳答案

二级知识专家蓝莓九栀

2021-01-11 20:20

给个简单介绍吧,自己看着用

%多项式插值和拟合

%p=polyfit(x,y,k)

%用k次多项式拟合向量数据(x,y),返回多项式的降幂系数,当k>=n时,polyfit实现多项式插值,这里n是向量维数

x=[0.1 0.2 0.15 0 -0.2 0.3];

y=[0.95 0.84 0.86 1.06 1.50 0.72];

p=polyfit(x,y,2)%二次拟合

xi=-0.2:0.01:0.3;

yi=polyval(p,xi);

subplot(2,2,1);

plot(x,y,'o',xi,yi,'k');

title('polyfit');

%五次拟合

p2=polyfit(x,y,5)

yi=polyval(p2,xi);

subplot(2,2,2);

plot(x,y,'o',xi,yi,'k');

title('polyinterp');

非线性最小二乘拟合:

%非线性最小二乘拟合

%c=lsqcurvefit(Fun,c0,x,y) Fun为两变量函数f(c,x),c0为参数c的近似值,作为迭代初值,x,y为数据向量

%c=lsqcurve(Run,c0,x,y,lc,uc,options,p1,p2,...)可以设置参数c取值于区间[lc,uc],options为

%优化计算参数选项,p1,p2,...为向函数Fun传递附加参数

%拟合非线性函数y=a*exp(b*x),首先讲参数a,b合写为c

fun=inline('c(1)*exp(c(2)*x)','c','x')

x=[0.1 0.2 0.15 0 -0.2 0.3];

y=[0.95 0.84 0.86 1.06 1.50 0.72];

c=lsqcurvefit(fun,[0 0],x,y)%初始值为a=0,b=0

norm(feval(fun,c,x)-y)^2%残差平方和

%lsqcurvefit可以作为各种类型曲线的拟合,最小二乘法能找到符合经验公式的最优曲线,但是这一经验公式是否有效还需要事后检验.一般可以从图像上作

%出判断,定量方法是计算残差平方和,再进行统计检验.

全部回答

1楼老酒街

2021-01-11 20:44

这是一个a=cb的逆运算。结果是一个二阶矩阵。

c= -1 2

0 1

若是手算的话就设

c = a11 a12

a21 a22

然后左×b=a 列方程组解出四个矩阵元

我要举报

如以上信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!

推荐资讯

大家都在看

你可能感兴趣的:(matlab两组数据的相关度)