作业帮 > 综合 > 作业

matlab做一组数据的拟合直线,

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/27 23:26:29
matlab做一组数据的拟合直线,
X(mm) 15 15.2 15.4 15.6 15.8 16 16.2 16.4 16.6 16.8
V(mV) 0.01 0.015 0.019 0.024 0.03 0.036 0.041 0.047 0.052 0.057
顺路问问能不能帮忙算下非线性误差
线性拟合的程序:
clear
x=[15 15.2 15.4 15.6 15.8 16 16.2 16.4 16.8 ];
y=[0.01 0.015 0.019 0.024 0.03 0.03 0.041 0.047 0.052 0.057];
p=polyfit(x,y,1)
yfit=polyval(p,x)
figure(1);
plot(x,y,'r*',x,yfit,'b-')
xlabel('X/mm')
ylabel('V/mV')
grid on
在计算非线性误差过程中,需要求实际输出值与拟合直线输出值的最大偏差,这也可通过编程实现,
figure(2);
plot(x,y-yfit,'b*',x,y-yfit,'r-');
xlabel('X/mm')
ylabel('V/mV')
grid on
你这个程序是对的呀,也只是有一点的小毛病呀
clear all
%线性拟合的程序:
x=[15 15.2 15.4 15.6 15.8 16 16.2 16.4 16.6 16.8]; 
y=[0.01 0.015 0.019 0.024 0.03 0.036 0.041 0.047 0.052 0.057];
p=polyfit(x,y,1); 
yfit=polyval(p,x);
 figure(1); 
plot(x,y,'r*',x,yfit,'b-');
legend('原始数据','拟合直线');
 xlabel('X/mm'); 
ylabel('V/mV');
 grid on 
%在计算非线性误差过程中,需要求实际输出值与拟合直线输出值的最大偏差,这也可通过编程实现, 
yerr=y-yfit;
[C I]=max(yerr);
figure(2)
scatter(x,yerr,'o');
hold on 
plot(x,yerr,'r-');
xlabel('X/mm')
ylabel('V/mV') 

grid on


再问: 能帮我看下非线性误差,那个偏离量和最大值都是哪个吗?这是电容传感器的位移测量
再答: 不懂什么叫做电容传感器的位移测量啊