dosi 发表于 2008-3-12 22:32

关于matlab指数曲线拟合问题

数据为x=[-70 -50 -30 -10 20],y=
拟合方程为: y=exp

两边取对数后 lny=ax-20a

设Y=AX-20A   

X=[-70 -50 -30 -10 20]
Y=[-1.704 -1.519 -2.564 -1.103 0]

得出的是直线


请问:如何把matlab Figure里的直线还原为拟合方程y=exp表示的曲线图?






[ 本帖最后由 eight 于 2008-3-13 09:32 编辑 ]

sigma665 发表于 2008-3-13 09:16

回复 楼主 的帖子

为什么要取对数以后再画呢
直接画不行吗

dosi 发表于 2008-3-13 09:54

回复 2楼 的帖子

我看了许多资料都是关于多项式拟合的
没有找到关于指数拟合的资料

如果是直接画,该怎样写程序呢呢

sigma665 发表于 2008-3-13 10:28

回复 3楼 的帖子

你是拟合曲线

直线方程你和出来后,再两边取e的指数,返回去得到方程,然后再画呢

还有,你的数据是不是有问题啊,误差太大了吧

[ 本帖最后由 sigma665 于 2008-3-13 10:32 编辑 ]

sigma665 发表于 2008-3-13 10:42

clear all;clc;


x1=[-70 -50 -30 -10 20];
y1=[-1.704 -1.519 -2.564 -1.103 0];
subplot(121);
plot(x1,y1,'o'); hold on;

p1=polyfit(x1,y1,1);
yy1=polyval(p1,-70:20);
plot(-70:20,yy1,'r');

x=-70:20;
y=exp(p1(1).*x+p1(2));
subplot(122);
plot(x,y)

dosi 发表于 2008-3-13 10:59

回复 5楼 的帖子

数据没有问题,这个是由试验得到的数据

对了,在上面的曲线图里面,可以加入原始数据的点吧

dosi 发表于 2008-3-13 11:01

回复 5楼 的帖子

原始数据为
x=[-70 -50 -30 -10 20]
y=

sigma665 发表于 2008-3-13 12:03

回复 7楼 的帖子

再加上
hold on;
xx=[-70 -50 -30 -10 20]
yy=
plot(xx,yy,'o');

dosi 发表于 2008-3-13 12:17

回复 8楼 的帖子

thanks a lot!
页: [1]
查看完整版本: 关于matlab指数曲线拟合问题