声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 3829|回复: 18

[编程技巧] 求助 指数函数的拟合

[复制链接]
发表于 2008-11-29 23:23 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
我是初学者,如何拟合y=(1/a)^x + b??对于高手应该不难吧。
回复
分享到:

使用道具 举报

发表于 2008-11-29 23:51 | 显示全部楼层

回复 楼主 zwz_good 的帖子

参考此帖:
http://forum.vibunion.com/forum/vi ... hlight=%C4%E2%BA%CF
LZ还可以使用论坛搜索
 楼主| 发表于 2008-11-30 00:15 | 显示全部楼层
谢谢楼上的,我再看看
 楼主| 发表于 2008-11-30 00:20 | 显示全部楼层
烦请ch_j1985 给我写一点呀,搜索到的都是自然指数,可我是要求的不是自然指数,还是搞不懂,麻烦你了。
发表于 2008-11-30 07:38 | 显示全部楼层
1stOpt命令,你自己help一下
发表于 2008-11-30 11:02 | 显示全部楼层
自己结合help写的一个程序:
% fitmyfun.m
clc
clear
xdata=(0:0.1:1)';
ydata=(0.6).^xdata+2;
% Creat own fun
f=fittype('a.^x+b');
% fit
cfun=fit(xdata,ydata,f,'Startpoint',[0.1 0.1])
运行结果:
cfun =

     General model:
       cfun(x) = a.^x+b
     Coefficients (with 95% confidence bounds):
       a =         0.6  (0.6, 0.6)
       b =           2  (2, 2)

评分

1

查看全部评分

 楼主| 发表于 2008-11-30 16:55 | 显示全部楼层
感谢几位朋友的帮忙,我再看看,谢谢。
 楼主| 发表于 2008-12-4 14:04 | 显示全部楼层
我现在需要具体拟合的公式为[(1/a) ^ (k1*x) + (1/b) ^ (k2 * y) + c] * xy = z
我根据friendchj朋友提供的帮助我写了
f=fittype('(a.^(k1.*x)+b.^(k2.*y)+c).*x.*y','coefficients',{'a','b','c','k1','k2'},'independent',{'x','y'})
出错
??? Error using ==> fittype.fittype at 333
Independent variable xy does not appear in the equation expression.
 楼主| 发表于 2008-12-4 14:05 | 显示全部楼层
其实就是怎样定义多个自变量的问题。
 楼主| 发表于 2008-12-5 08:43 | 显示全部楼层
请各位高手不惜赐教,谢谢了。
 楼主| 发表于 2008-12-5 08:53 | 显示全部楼层
以下是数据
X                   Y                     Z
1        1        0.0450
1        4        0.0600
1        8        0.0960
1        12        0.1080
8        1        0.0720
8        4        0.2400
8        8        0.3840
8        12        0.4320
50        1        0.1275
50        4        0.4500
50        8        0.7200
50        12        0.9450
100        1        0.1575
100        4        0.5880
100        8        1.1400
100        12        1.6200
200        1        0.2640
200        4        1.0320
200        8        2.0400
200        12        3.0240
500        1        0.6000
500        4        2.3700
500        8        4.6800
500        12        6.8400
800        1        0.9000
800        4        3.6000
800        8        7.2000
800        12        10.0800
 楼主| 发表于 2008-12-5 10:05 | 显示全部楼层
我要求出五个系数  'a','b','c','k1','k2'
 楼主| 发表于 2008-12-5 11:39 | 显示全部楼层
现在整理问题如下:
需要拟合的公式如下
[(1/a) ^ (k1*x) + (1/b) ^ (k2 * y) + c] * xy = z
原始数据为
以下是数据
X                   Y                     Z
1        1        0.0450
1        4        0.0600
1        8        0.0960
1        12        0.1080
8        1        0.0720
8        4        0.2400
8        8        0.3840
8        12        0.4320
50        1        0.1275
50        4        0.4500
50        8        0.7200
50        12        0.9450
100        1        0.1575
100        4        0.5880
100        8        1.1400
100        12        1.6200
200        1        0.2640
200        4        1.0320
200        8        2.0400
200        12        3.0240
500        1        0.6000
500        4        2.3700
500        8        4.6800
500        12        6.8400
800        1        0.9000
800        4        3.6000
800        8        7.2000
800        12        10.0800

要求出五个系数  'a','b','c','k1','k2'
 楼主| 发表于 2008-12-5 11:40 | 显示全部楼层
x y 是自变量
z是因变量
发表于 2008-12-5 12:30 | 显示全部楼层
例子
电流(设为X)
0.490667 0.955333 1.544 1.940667 2.48 3.026667 3.966667 4.453333 5.073333 6.033333 7.04
电压(设为Y)
253.3333 381 450 503.6667 532 520 489 481.3333 459 438.3333 422
用V=A(1)*exp(A(2)*I)+A(3)*exp(A(4)*I)模型
clear;
X=[0.490667 0.955333 1.544 1.940667 2.48 3.026667 3.966667 4.453333 5.073333 6.033333 7.04]
Y=[253.3333 381 450 503.6667 532 520 489 481.3333 459 438.3333 422]
myfun=inline('A(1)*exp(A(2)*x)+A(3)*exp(A(4)*x)','A','x')
A = nlinfit(X,Y,myfun,[700 -0.01 -700 -1 ])
I=min(X):0.1:max(X);
V=A(1)*exp(A(2)*I)+A(3)*exp(A(4)*I);
plot(X,Y,'o',I,V)

结果:
A =

668.9571 -0.0688 -656.7991 -1.0321
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-12-4 12:10 , Processed in 0.058897 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表