matlab 做直线r=[8.22,7.41,6.58,5.49,5.20];u=[1.80,1.45,1.20,0.43];我想以r为x轴,u为y轴;拟合一条直线,保证最多的点在这条直线上(或者点在这条直线周围均匀分布)不好意思,漏了一个数据。不过关系不大
来源:学生作业帮助网 编辑:作业帮 时间:2024/08/11 12:12:36
![matlab 做直线r=[8.22,7.41,6.58,5.49,5.20];u=[1.80,1.45,1.20,0.43];我想以r为x轴,u为y轴;拟合一条直线,保证最多的点在这条直线上(或者点在这条直线周围均匀分布)不好意思,漏了一个数据。不过关系不大](/uploads/image/z/8547648-24-8.jpg?t=matlab+%E5%81%9A%E7%9B%B4%E7%BA%BFr%3D%5B8.22%2C7.41%2C6.58%2C5.49%2C5.20%5D%3Bu%3D%5B1.80%2C1.45%2C1.20%2C0.43%5D%3B%E6%88%91%E6%83%B3%E4%BB%A5r%E4%B8%BAx%E8%BD%B4%2Cu%E4%B8%BAy%E8%BD%B4%3B%E6%8B%9F%E5%90%88%E4%B8%80%E6%9D%A1%E7%9B%B4%E7%BA%BF%2C%E4%BF%9D%E8%AF%81%E6%9C%80%E5%A4%9A%E7%9A%84%E7%82%B9%E5%9C%A8%E8%BF%99%E6%9D%A1%E7%9B%B4%E7%BA%BF%E4%B8%8A%28%E6%88%96%E8%80%85%E7%82%B9%E5%9C%A8%E8%BF%99%E6%9D%A1%E7%9B%B4%E7%BA%BF%E5%91%A8%E5%9B%B4%E5%9D%87%E5%8C%80%E5%88%86%E5%B8%83%29%E4%B8%8D%E5%A5%BD%E6%84%8F%E6%80%9D%EF%BC%8C%E6%BC%8F%E4%BA%86%E4%B8%80%E4%B8%AA%E6%95%B0%E6%8D%AE%E3%80%82%E4%B8%8D%E8%BF%87%E5%85%B3%E7%B3%BB%E4%B8%8D%E5%A4%A7)
matlab 做直线r=[8.22,7.41,6.58,5.49,5.20];u=[1.80,1.45,1.20,0.43];我想以r为x轴,u为y轴;拟合一条直线,保证最多的点在这条直线上(或者点在这条直线周围均匀分布)不好意思,漏了一个数据。不过关系不大
matlab 做直线
r=[8.22,7.41,6.58,5.49,5.20];
u=[1.80,1.45,1.20,0.43];
我想以r为x轴,u为y轴;
拟合一条直线,保证最多的点在这条直线上(或者点在这条直线周围均匀分布)
不好意思,漏了一个数据。不过关系不大,
matlab 做直线r=[8.22,7.41,6.58,5.49,5.20];u=[1.80,1.45,1.20,0.43];我想以r为x轴,u为y轴;拟合一条直线,保证最多的点在这条直线上(或者点在这条直线周围均匀分布)不好意思,漏了一个数据。不过关系不大
[1]首先楼主你r,u不匹配(必须成对,也就是r,u元素个数一样多) 数据你可以自己随便更改
令y=a+bx是你要拟合的直线
请打开MATLAB,输入如下内容,逐行输入或者M-文件编辑都可以
x=[8.22,7.41,6.58,5.49,5.20];
y=[1.80,1.45,1.20,0.43,0.5];
r=x;
u=y;
b=(mean(x).*mean(y)-mean(dot(x,y)))./((mean(x))^2-mean(x.^2));
a=mean(y)-b.*mean(x);
在我这个数值下b = 24.1981 a = -158.1472
显然在楼主你更改数值以后结果会不同
划线可以用plot函数 plot(x,a+b.*x)
〔2〕原理是最小二乘法,任何一本高等数学书或者大学物理实验都有它的详细内容
〔3〕函数是自己编的,应该是一元线形回归(直线拟合)条件下通用的.
plot(r,u)
搞什么?r有5个点,u只有4个点?还差1个点丢哪了?
虽然自认为对matlab还是很熟悉的,不过楼主的问题已经超出我的能力范围了。
用最小二乘法。。。。
应该有函数。。。