- 在线时间
- 1 小时
- 最后登录
- 2014-5-12
- 注册时间
- 2009-5-4
- 听众数
- 4
- 收听数
- 0
- 能力
- 0 分
- 体力
- 215 点
- 威望
- 0 点
- 阅读权限
- 20
- 积分
- 94
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 52
- 主题
- 5
- 精华
- 0
- 分享
- 0
- 好友
- 3
升级   93.68% 该用户从未签到
 |
本帖最后由 peamy 于 2009-8-23 21:55 编辑 & q- _. J8 R, M. W
7 [- T' E& L6 o2 q( S8 y4 |数据的非线性拟合条件如下:4 @/ o* _1 h# U( E) g
数据要拟合成y=a*exp(bx)的形式;7 w/ _/ }0 T8 o) Z5 }9 }
x=[...];+ z2 H* L X3 s' M- q8 O, O7 F7 P
y=[...];: U4 D7 L' @' c; S
fun=inline('c(1)*exp(c(2)*x)','c','x');
: ~* Y; {/ ?% S; j1 M8 k, Kc=lsqcurvefit(fun,[0,0],x,y)0 a8 g+ |2 u& O5 s, ~$ W
这样可以得到结果了,问题是怎么用m文件的方式去定义这个fun函数。5 V/ H# E) A2 {
以下形式是不行的,我不太明白: ?1 f; R3 V5 L' j
function y=fun(c,x)
" ?7 x) D& [8 G! }0 Oy=c(1)*exp(c(2)*x)
5 p3 ?% y( }6 {6 g: Y8 `/ s$ \ i
错误指示如下:1 d1 q9 D, F; W9 m% G9 T) R
lsqcurvefit(fun,[0,1],x,y)
9 I% Q% @4 u1 K) r??? Input argument "c" is undefined.
9 i* F4 x# D4 c3 E. Z" J/ O
% T4 c, A' Z5 j5 ^Error in ==> fun at 2
! x, U, Z! [9 u& u5 my=c(1)*exp(x*c(2)); |
zan
|