用MATLAB进行线性拟合的程序代码
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/11/06 01:54:16
用MATLAB进行线性拟合的程序代码
我想把第一列的数据和二三列进行拟合,结果就像下图一样的效果,还能知道它的拟合公式,第一条线用不同的颜色
clc;clear;close all
U=[1.45,1.85,2.02,2.2,2.67,2.98];
V=[200,400,500,600,800,1000];
H=[25.6,43.5,51.4,60.2,79.6,95.2];
[AX,H1,H2]=plotyy(U,V,U,H,'plot');
set(H1,'Marker','o','line','none','color','k')
set(H2,'Marker','*','line','none','color','r')
legend('容积','实际高度')
xlabel('电压值/V')
yl1=get(AX(1),'Ylabel')
set(yl1,'string','容积/L')
yl2=get(AX(2),'Ylabel')
set(yl2,'string','实际高度/cm')
p1=polyfit(U,V,1);
p2=polyfit(U,H,1);
VV=p1(1)*U+p1(2);
HH=p2(1)*U+p2(2);
hold on
[AX,HH1,HH2]=plotyy(U,VV,U,HH)
set(HH1,'color','k')
set(HH2,'color','r')
clc
disp(['V=',num2str(p1(1)),'*U',num2str(p1(2))])
disp(['H=',num2str(p2(1)),'*U',num2str(p2(2))])运行结果V=513.0775*U-542.8718H=45.1123*U-39.7716
再问: 两个关系式的自变量都是电压,怎么都是H.还有那里面的容积和实际高度能移到左上方吗?现在它遮住直线了。
再问:
再问: 能不能用y1表示容量,y2表示液位高度,x表示电压。告诉我程序就行。我把分都给你。
再问:
再问: 我按照你的编程改成了下面的图
再问:
再答: clc;clear;close all
x=[1.45,1.85,2.02,2.2,2.67,2.98];
y1=[200,400,500,600,800,1000];
y2=[25.6,43.5,51.4,60.2,79.6,95.2];
[AX,H1,H2]=plotyy(x,y1,x,y2,'plot');
set(H1,'Marker','o','line','none','color','k')
set(H2,'Marker','*','line','none','color','r')
legend('容积','实际高度')
xlabel('电压值/V')
yl1=get(AX(1),'Ylabel')
set(yl1,'string','容积/L')
yl2=get(AX(2),'Ylabel')
set(yl2,'string','实际高度/cm')
p1=polyfit(x,y1,1);
p2=polyfit(x,y2,1);
VV=p1(1)*x+p1(2);
HH=p2(1)*x+p2(2);
hold on
[AX,HH1,HH2]=plotyy(x,VV,x,HH)
set(HH1,'color','k')
set(HH2,'color','r')
clc
disp(['y1=',num2str(p1(1)),'*x',num2str(p1(2))])
disp(['y2=',num2str(p2(1)),'*x',num2str(p2(2))])运行结果:y1=513.0775*x-542.8718y2=45.1123*x-39.7716
U=[1.45,1.85,2.02,2.2,2.67,2.98];
V=[200,400,500,600,800,1000];
H=[25.6,43.5,51.4,60.2,79.6,95.2];
[AX,H1,H2]=plotyy(U,V,U,H,'plot');
set(H1,'Marker','o','line','none','color','k')
set(H2,'Marker','*','line','none','color','r')
legend('容积','实际高度')
xlabel('电压值/V')
yl1=get(AX(1),'Ylabel')
set(yl1,'string','容积/L')
yl2=get(AX(2),'Ylabel')
set(yl2,'string','实际高度/cm')
p1=polyfit(U,V,1);
p2=polyfit(U,H,1);
VV=p1(1)*U+p1(2);
HH=p2(1)*U+p2(2);
hold on
[AX,HH1,HH2]=plotyy(U,VV,U,HH)
set(HH1,'color','k')
set(HH2,'color','r')
clc
disp(['V=',num2str(p1(1)),'*U',num2str(p1(2))])
disp(['H=',num2str(p2(1)),'*U',num2str(p2(2))])运行结果V=513.0775*U-542.8718H=45.1123*U-39.7716
再问: 两个关系式的自变量都是电压,怎么都是H.还有那里面的容积和实际高度能移到左上方吗?现在它遮住直线了。
再问:
再问: 能不能用y1表示容量,y2表示液位高度,x表示电压。告诉我程序就行。我把分都给你。
再问:
再问: 我按照你的编程改成了下面的图
再问:
再答: clc;clear;close all
x=[1.45,1.85,2.02,2.2,2.67,2.98];
y1=[200,400,500,600,800,1000];
y2=[25.6,43.5,51.4,60.2,79.6,95.2];
[AX,H1,H2]=plotyy(x,y1,x,y2,'plot');
set(H1,'Marker','o','line','none','color','k')
set(H2,'Marker','*','line','none','color','r')
legend('容积','实际高度')
xlabel('电压值/V')
yl1=get(AX(1),'Ylabel')
set(yl1,'string','容积/L')
yl2=get(AX(2),'Ylabel')
set(yl2,'string','实际高度/cm')
p1=polyfit(x,y1,1);
p2=polyfit(x,y2,1);
VV=p1(1)*x+p1(2);
HH=p2(1)*x+p2(2);
hold on
[AX,HH1,HH2]=plotyy(x,VV,x,HH)
set(HH1,'color','k')
set(HH2,'color','r')
clc
disp(['y1=',num2str(p1(1)),'*x',num2str(p1(2))])
disp(['y2=',num2str(p2(1)),'*x',num2str(p2(2))])运行结果:y1=513.0775*x-542.8718y2=45.1123*x-39.7716
用MATLAB进行线性拟合的程序代码
matlab进行线性拟合
怎么用matlab进行多元线性的拟合
MATLAB的拟合函数polyfit 的程序代码是什么啊
用matlab进行函数拟合,用最简单的线性拟合函数拟合后,效果不是很好,想用BP神经网络对函数表达式优化
matlab对一组数据进行数据线性拟合,如何获取线性拟合后的R^2值?
MATLAB 用regress函数的二元线性拟合
matlab中线性拟合的函数是什么?
matlab做线性拟合
用Excel如何进行最小二乘法的线性拟合?
用matlab编程做线性拟合,得到了拟合函数的系数,但没有显示拟合函数的图像.
用matlab进行曲线拟合时,如何判断拟合的好坏