24小时热门版块排行榜    

查看: 3355  |  回复: 19

zyj8119

木虫 (著名写手)


[交流] 【求助】使用MATLAB拟合出按照公式的系数

我想拟合出y=a(1)*exp(-b(1)*B(i,1))+a(2)*exp(-b(2)*B(i,1))+a(3)*exp(-b(3)*B(i,1))+y(0),其中x,y是已知数,其他的都是需要拟合出来的系数,x,y 来自于这个文件:CT.xls,我编写了一个m文件,不知道为什么不行:
CODE:
function plottu
clc;
B=xlsread('E:\CT.xls','sheet1')
fun=inline('a(1)*exp(-b(1)*B(i,1))+a(2)*exp(-b(2)*B(i,1))+a(3)*exp(-b(3)*B(i,1))+y(0)','a','b','y(0)','x');
a(0)=[10,10,10];
b(0)=[30,30,30];
y(0)=36;
[x,resnorm]=lsqcurvefit(fun,a(1),b(1),y(1),B(i,1),B(i,2));
end

回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

» 抢金币啦!回帖就可以得到:

查看全部散金贴

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

信彼南山

木虫 (著名写手)



zyj8119(金币+1):谢谢参与
你的y(0)为什么是36呢?
2楼2011-01-11 22:28:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

信彼南山

木虫 (著名写手)



xiegangmai(金币+1):谢谢参与 2011-01-11 22:43:08
你那个B(i,1)是啥东西?是不是想说B(:,1)啊?

你的函数是不是应该这样啊?
y(i)=a1*exp(-b1*x(i))+a2*exp(-b2*x(i))+a3*exp(-b3*x(i))+y(0)
3楼2011-01-11 22:35:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zyj8119

木虫 (著名写手)


引用回帖:
Originally posted by 信彼南山 at 2011-01-11 22:28:03:
你的y(0)为什么是36呢?

我就是随便给了个初值。
4楼2011-01-11 22:46:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zyj8119

木虫 (著名写手)


引用回帖:
Originally posted by 信彼南山 at 2011-01-11 22:35:15:
你那个B(i,1)是啥东西?是不是想说B(:,1)啊?

你的函数是不是应该这样啊?
y(i)=a1*exp(-b1*x(i))+a2*exp(-b2*x(i))+a3*exp(-b3*x(i))+y(0)

文件的第一列数据。
5楼2011-01-11 22:46:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zyj8119

木虫 (著名写手)


引用回帖:
Originally posted by 信彼南山 at 2011-01-11 22:35:15:
你那个B(i,1)是啥东西?是不是想说B(:,1)啊?

你的函数是不是应该这样啊?
y(i)=a1*exp(-b1*x(i))+a2*exp(-b2*x(i))+a3*exp(-b3*x(i))+y(0)

那怎么编程序才能拟合出a1,a2,a3,b1,b2,b3,y0?
6楼2011-01-11 22:47:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

信彼南山

木虫 (著名写手)


★ ★
robert2020(金币+2):多谢应助!辛苦了!鼓励继续解答! 2011-01-12 11:06:29
% zyj_main.m
clear;clc;
B=xlsread('CT.xls','sheet1');
xdata=B(:,2);
ydata=B(:,3);
a=[10,10,10];
b=[30,30,30];
y0=36;
x=lsqcurvefit(@zyj_fun1,[a,b,y0],xdata,ydata);


-----------------------------------------------------------------------
% zyj_fun1.m
function zas=zyj_fun1(x,xdata)
zas=x(1)*exp(-x(4)*xdata)+x(2)*exp(-x(5)*xdata)+x(3)*exp(-x(6)*xdata)+x(7)';

----------------------------------------------------------------------
结果似乎还不对,你的这些数据本身就比较接近y=a*exp(-b*x)+c形式
7楼2011-01-11 23:00:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

信彼南山

木虫 (著名写手)


引用回帖:
Originally posted by zyj8119 at 2011-01-11 22:46:51:

文件的第一列数据。

大哥,你的第一列是编号,不是数据
8楼2011-01-11 23:01:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zyj8119

木虫 (著名写手)


引用回帖:
Originally posted by 信彼南山 at 2011-01-11 23:01:29:


大哥,你的第一列是编号,不是数据

那就第二列吧。
10楼2011-01-12 12:08:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zyj8119

木虫 (著名写手)



xiegangmai(金币+1):谢谢参与 2011-01-13 08:26:54
引用回帖:
Originally posted by 信彼南山 at 2011-01-11 23:00:46:
% zyj_main.m
clear;clc;
B=xlsread('CT.xls','sheet1');
xdata=B(:,2);
ydata=B(:,3);
a=[10,10,10];
b=[30,30,30];
y0=36;
x=lsqcurvefit(@zyj_fun1,[a,b,y0],xdata,ydata);


-------------------- ...

我用你的程序怎么跑出这样的结果:

Local minimum found.

Optimization completed because the size of the gradient is less than
the default value of the function tolerance.

13楼2011-01-12 12:32:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

信彼南山

木虫 (著名写手)


晕死,main贴错了。回头找找删没
14楼2011-01-13 00:36:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

信彼南山

木虫 (著名写手)



xiegangmai(金币+1):鼓励交流 2011-01-13 08:28:42
我还真是这么写的程序

不过,按照你的这些数据,我觉得根本拟合不出来你那些参数,或者说可以有无穷多组结果能满足条件,建议换一个算法试试,或者在公示中多加一些约束条件来判别
17楼2011-01-13 02:45:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zyj8119

木虫 (著名写手)


引用回帖:
Originally posted by 信彼南山 at 2011-01-13 02:45:53:
我还真是这么写的程序

不过,按照你的这些数据,我觉得根本拟合不出来你那些参数,或者说可以有无穷多组结果能满足条件,建议换一个算法试试,或者在公示中多加一些约束条件来判别

但是别人拟合出来啊,是以前人。
18楼2011-01-13 17:08:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

信彼南山

木虫 (著名写手)


引用回帖:
Originally posted by zyj8119 at 2011-01-13 17:08:13:

但是别人拟合出来啊,是以前人。

有没有以前人的程序啊,给看看的说
我觉得拟合不出来,投降了
19楼2011-01-15 16:29:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

qingmingwu

金虫 (正式写手)



zyj8119(金币+1):谢谢参与
太高深了
20楼2011-01-16 10:11:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
简单回复
jipd9楼
2011-01-11 23:01   回复  
zyj8119(金币+1):谢谢参与
robert2020(金币-3):为了他人的方便,请勿在求助帖中纯表无意义回复! 2011-01-12 11:07:05
2011-01-12 12:24   回复  
zyj8119(金币+1):谢谢参与
xiegangmai(金币-3):请勿在求助帖中纯表无意义回复! 2011-01-12 12:32:26
tangyanxmc12楼
2011-01-12 12:31   回复  
zyj8119(金币+1):谢谢参与
xiegangmai(金币-3):请勿在求助帖中纯表无意义回复! 2011-01-12 12:32:36
tangyanxmc15楼
2011-01-13 01:10   回复  
zyj8119(金币+1):谢谢参与
xiegangmai(金币-1):请勿在求助帖中纯表无意义回复! 2011-01-13 08:28:16
2011-01-13 01:19   回复  
zyj8119(金币+1):谢谢参与
xiegangmai(金币-1):请勿在求助帖中纯表无意义回复! 2011-01-13 08:28:24
相关版块跳转 我要订阅楼主 zyj8119 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 为什么国自然不能直接公布 +4 bjdxyxy 2026-08-26 4/200 2026-08-26 13:12 by qingmu1201
[基金申请] 系统查不到 +9 董八千 2026-08-26 9/450 2026-08-26 12:30 by yanmofang
[基金申请] 科研孤儿太难了 +21 我4大白菜 2026-08-20 22/1100 2026-08-26 11:29 by nlgza
[基金申请] 国合里面能看到了 +7 一怀馨秋 2026-08-26 7/350 2026-08-26 11:23 by zhaosm1982
[基金申请] 系统进不去 +4 yanglien 2026-08-26 5/250 2026-08-26 11:10 by wenfengw83
[基金申请] 2026年的国家社科基金项目通讯评审的新规则与新动向、新挑战 +6 process2012 2026-08-23 8/400 2026-08-26 11:03 by zjlp
[基金申请] 国合可查了 +3 paperzjh 2026-08-26 3/150 2026-08-26 10:41 by LemmonTr
[基金申请] 今天务委会开完了,明天出结果吗 +19 angus9576 2026-08-25 23/1150 2026-08-26 10:03 by zp519
[基金申请] 出来了 +8 trojank 2026-08-26 8/400 2026-08-26 09:00 by gxc
[基金申请] 牛来!米来!面来! +8 beefly 2026-08-26 8/400 2026-08-26 08:37 by xuzhipiao
[基金申请] 2026年8月25日国自然放榜前突然收到列入评审专家邮件,有关系吗? +24 木水思豆 2026-08-25 27/1350 2026-08-26 08:26 by yanchen918
[基金申请] 明天应该可查了!? +6 chengyan1220 2026-08-23 6/300 2026-08-25 19:45 by zfd97
[基金申请] 有没有大神帮我看看基金代码 28+4 1234567wang 2026-08-24 10/500 2026-08-25 19:15 by lfy8008
[基金申请] 放榜前的不淡定 20+4 snowwithsea 2026-08-19 19/950 2026-08-25 17:57 by chick875
[基金申请] 今日不放榜?网传国自然预计 8 月 27 日可查结果 +17 医学老男孩 2026-08-20 22/1100 2026-08-25 15:36 by 医学老男孩
[基金申请] 没有任何消息-是不是就凉了 +9 图啦图啦 2026-08-24 10/500 2026-08-25 11:59 by 南海小哥
[教师之家] 导师吐槽:我怎么摊上了这么个极品研究生! +3 苏东坡二世 2026-08-23 3/150 2026-08-25 10:35 by shisan1313
[基金申请] 建议基金发布提前给出明确的时间点 +13 kulium 2026-08-21 16/800 2026-08-24 16:27 by superceng
[教师之家] 跳槽后在研项目怎么办? +5 简单化xn 2026-08-22 10/500 2026-08-23 12:38 by 简单化xn
[基金申请] 应该是下周三26日公布了吧? +4 哈哈蛤? 2026-08-21 4/200 2026-08-21 10:58 by Vivilian
信息提示
请填处理意见