24小时热门版块排行榜    

查看: 2567  |  回复: 29
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

飞也如铃

新虫 (小有名气)

[求助] 求助大侠帮忙,有关matlab模拟数据

x = [0.768;
0.711;
0.685;
0.671;
0.659;
0.657;
0.655;
0.654;
0.653;
0.654];

y = [4.584;
4.375;
4.234;
4.128;
4.041;
3.972;
3.913;
3.861;
3.815;
3,774];

上面是x,y的数据,公式是
请问哪位大侠帮忙给编辑一下公式代码啊,我自己用matlab模拟不出来,请哪位好心人帮帮忙!
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

飞也如铃

新虫 (小有名气)

引用回帖:
5楼: Originally posted by juloong at 2011-11-22 21:32:47:
重新拟合了一下
General model:
       f(x) = a+b*log(1-b*x)+(1-b)*log(1-b*x+x)
       where x is normalized by mean 0.6767 and std 0.03709
Coefficients (with 95% confidence bounds):
       a =  ...

x = [0.768;
0.711;
0.685;
0.671;
0.659;
0.657;
0.655;
0.654;
0.653;
0.654];

y = [4.584;
4.375;
4.234;
4.128;
4.041;
3.972;
3.913;
3.861;
3.815;
3.774];

plot(x,y,'*')

f = fittype('a+b*log(1-b*x)+(1-b)*log(1-b*x+x)');

%拟合函数
[c2,gof2] = fit(x,y,f)

% 显示拟合曲线与数据点的结果
plot(c2,'m')  % 绘制拟合曲线
hold on,plot(x,y,'*') %绘制原数据点
求大侠现身帮忙,我用上面的代码放到matlab里面,但是模拟出来的是一条直线,我的数据散点图是一曲线,可是我只会上面这个代码,请问大侠你用的代码是什么,能否发我一下呢?
6楼2011-11-23 09:31:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 30 个回答

juloong

木虫 (职业作家)

X射线衍/散射测试

【答案】应助回帖

飞也如铃(金币+2): 非常感谢您提供的这个信息,但是我找不到我需要的公式,请问我的公式适合fitting里面的哪个类型的公式呢,谢谢回复! 2011-11-22 21:58:19
matlab里面有个cftool工具,拟合起来非常方便的
2楼2011-11-22 21:15:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

juloong

木虫 (职业作家)

X射线衍/散射测试

【答案】应助回帖

拟合出来的结果
General model:
       f(x) = a+b*log(1-b*x)+(1-b)*log(1-b*x+x)
Coefficients (with 95% confidence bounds):
       a =      -1.309  (-9942, 9939)
       b =      -117.5  (-1.173e+006, 1.173e+006)

Goodness of fit:
  SSE: 0.4103
  R-square: 0.337
  Adjusted R-square: 0.2541
  RMSE: 0.2265
3楼2011-11-22 21:25:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

juloong

木虫 (职业作家)

X射线衍/散射测试

【答案】应助回帖

用这个式子拟合貌似不好
4楼2011-11-22 21:27:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见