求助 用matlab求直线与散点的相关系数

供稿:hz-xin.com     日期:2025-01-21
求助 求一条直线与一些散点的相关系数

偶然之手佩带的戒指。
让吉卜林无法摆脱。
但她把自己缝进了一只袋子
为什么不作为消化蠕虫的胃
我---死于汹涌的河.
都不的于一个的主哈哈

1、第一步我们首先需要知道matlab中求相关系数用到的是corrcoef函数,在命令行窗口中输入“help corrcoef”,可以看到corrcoef函数用法,

2、第二步在命令行窗口中输入a=[1 3 6 7 8 16],b=[2 4 7 9 15 19],创建两个矩阵,求两个矩阵的相关系数,

3、第三步输入corrcoef(a,b),按回车键,可以看到两个矩阵的相关系数是 0.9454 ,呈高度相关,

4、第四步输入corrcoef(a),可以求a矩阵的相关系数,如果a矩阵是个多维矩阵,可以通过corrcoef(a(:,1),a(:,2))求每一列的相关系数,

5、第五步按回车键之后,可以a矩阵自身的相关系数为1,这里需要注意的是相关系数0.00-±0.3是微相关,±0.30-±0.50是实相关,±0.50-±0.80是显著相关,±0.80-±1.00是高度相关,

思路:A点横坐标设为,xA=40 在图中用红色*表示。 然后随机生成y的数据,通过A点的直线方程为

     y-yA=k(x-xA)  →y=kx-kxA+yA 

通过ols法,求的是残差最小的斜率k进而得到直线的方程。


比较简单的用matlab弄了一下:



n=100;x=1:n;

y=10.*rand(n,1); x=x';

A=y(40);%A点的纵坐标 yA=y(40)


esum=@(k)sum((k.*x-(40*k+y(40)-y)).^2);%残差的2次方和

[k,fval]=fminsearch(esum,-2);%ols法 找出esum的最小值


subplot(2,1,1)

scatter(x,y);hold on;plot(40,y(40),'r*');hold on;plot(x,k*x-40*k+y(40));

title('运用ols法获得经过A点的直线');


subplot(2,1,2)

resid=y-(k*x-40*k+y(40));

plot(resid,'r');

title('残差图');


结果为下图,上图为通过A点运用ols法获得的直线;下图为扰动项的图。



这个可以做,楼主可以联系我,具体操作比较麻烦 1551109497

急求:如何用LINGO软件画散点图和拟合直线?
lingo...这个还真不知道 画散点图和拟合直线建议用mathematica,maple,matlab这些软件 例如mathematica ListPlot[] Fit[,{}]很容易就出来了 要不然你把问题贴出来,一起讨论下怎么做

求帮助,用Matlab求简单的直线方程
已知A(1,2),矩阵B=[1 1;2 1;5 3;6 1;4 7],然后以B的每一行构成一个点C的x坐标和y坐标,用Matlab求A与C的直线方程(共有5条) 刘学清...function z=line(x,y,x1,y1) %直接输入两个坐标就可以求出一条直线方程。if x~=x1a=(y1-y)\/(x1-x);b=y-a*x;sprintf('y=%d*x+%d',a,...

matlab 画出散点图 有些点连起来有些不连如下图中需将15和10、15和29...
附加上这些代码就可以 plot(linspace(x(15),x(10),20),linspace(y(15),y(10),20))plot(linspace(x(15),x(29),20),linspace(y(15),y(29),20))plot(linspace(x(10),x(27),20),linspace(y(10),y(27),20))如果要红色,自己加颜色即可 ...

matlab如何在两点之间画一条直线?
要在两点之间绘制一条直线,在MATLAB中使用plot3函数非常直接。例如,如果你有两个点,点1的坐标为(x1, y1, z1),点2的坐标为(x2, y2, z2),你可以使用以下代码:plot3([x1 x2],[y1 y2],[z1 z2]);这条命令会绘制一条连接这两个点的线段。如果你想要绘制一条穿过这两个点的更长...

求助如何用matlab取出直线上的点
用ginput函数可以取出曲线上的点,如:[x,y]=ginput(5)就可在画出的曲线上取5个点的坐标。

如何用最小二乘法在matlab中将六个离散点连成直线
比如:x=1:3:13;y=2*x+5*rand;p=polyfit(x,y,1);%一次拟合,即得到直线;y2=polyval(p,x);%求拟合后的直线上的点的纵坐标;plot(x,y,'b*',x,y2);

我要做一个散点图,用来拟合直线
1)选定两行数据;(2)然后依次点菜单栏的--插入--图表,然后在图表类型中选”X,Y散点图”,再直接点击完成即可.(3)如果要显示相关公式,可以右击图线上的点,选择”添加趋势线”,在弹出的对话框内选择一种曲线作为拟后曲线,再点确定 ...

matlab如何提取一条曲线与y=50直线的交点坐标?
下面分别演示这两种情形:一、求曲线y=2*x^2与直线y=50的交点 1、分析:求曲线y=2*x^2与直线y=50的交点,只需要求解方程2*x^2=50即可 2、求解:打开matlab软件,在命令窗口输入如下代码:x = solve('2*x^2=50'),表示使用solve()函数解方程 3、结果如下:二、插值法求散点曲线与y=50...

如何用MATLAB绘制一条直线
MATLAB中用多项式拟合函数可以完成此功能:如下图所示:生成曲线图:参考代码:(可复制粘贴)PX=[-3 5 11]; %给出三个点的坐标 PY=[6 2 8]; %给出三个点的坐标 k = polyfit(PX,PY,2) %用多项式曲线拟合函数的系数k,2表示多项式次数(即二次函数)x=[-5:0.1:13]; %作函...

matlab如何求过某点的直线方程?
这是数学问题,列出方程后让matlab求解即可。[a,b]=solve('2=a+b,(a\/2)^2+5=2*(a\/2)^2+b')%y=ax+b ———可能我知道的太少,matlab好像没有提供过这样的命令