24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 1031  |  回复: 7
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

cheng1378653

主管区长

优秀!!有木有!!!优秀!!有木有!!!优秀!!有木有!!!优秀!!有木有!!!

[求助] matlab M文件 给规定参数设个边界

Sample Text
t=[0.0833 0.5 1 2 4 8];
c=[2.2505 1.6489 0.2789 0.2412 0.1077 0.1035];
我用已知的两个函数模型拟合时出现了这种情况
(一)t=[0.0833 0.5 1 2 4 8];
c=[2.2505 1.6489 0.2789 0.2412 0.1077 0.1035];
myfun=inline('A(1)*exp(-A(2)*x)','A','x');
[A iter sse]=nlinfit(t,c,myfun,[1 1])
结果:A =
2.6400    1.4099
iter =
6
sse =
0.2891
(二):t=[0.0833 0.5 1 2 4 8];
c=[2.2505 1.6489 0.2789 0.2412 0.1077 0.1035];
myfun=inline('A(1)*exp(-A(2)*x)+A(3)*exp(-A(4)*x)','A','x');
[A iter sse]=nlinfit(t,c,myfun,[2.4 1.5 0.022 0.2])
结果:A =
2.6266    1.4510    0.0227   -0.2002
iter =
19
sse =
0.2734
但是我的这个函数有个要求,就是参数A的值要大于零,这样的话A(4)就不符合了
(三)还有一种情况就是,用二的方式,但我给另外的随意的初值,
结果:A =
0.8571    1.4100    1.7829    1.4098 A(1)+A(3)=2.64,A(2)基本上等于A(4)
iter =
6
sse =
0.2891
而这样的话就相当于把(一)的公式拆分成了两个一样模型的函数,与(一)没什么区别,我在用(二)计算式,我希望能够拟合出的结果中A(2)与A(4)不同,但是有还得是正值,所以我想给A(2)和A(4)设边界大于零
该怎么弄,我是matlab的菜鸟用户,请高手帮帮忙,谢谢!

[ Last edited by cheng1378653 on 2013-4-1 at 12:52 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

cheng1378653

兑换贵宾

优秀!!有木有!!!优秀!!有木有!!!优秀!!有木有!!!优秀!!有木有!!!

引用回帖:
2楼: Originally posted by 恩斯特 at 2013-04-01 16:19:45
在nlinfit后面的第4个选项可以不填的吗?

我一直都这么用的,我以为还是初学者
4楼2013-04-02 20:58:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 8 个回答

恩斯特

兑换贵宾

优秀!!有木有!!!优秀!!有木有!!!优秀!!有木有!!!优秀!!有木有!!!

【答案】应助回帖


感谢参与,应助指数 +1
fegg7502: 金币+1, 鼓励交流 2013-04-02 08:58:35
在nlinfit后面的第4个选项可以不填的吗?
2楼2013-04-01 16:19:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lgycjpcqu

主管区长

优秀!!有木有!!!优秀!!有木有!!!优秀!!有木有!!!优秀!!有木有!!!


fegg7502: 金币+1, 鼓励交流 2013-04-02 08:58:45
function E=fconstrain(a,t,c)
C=a(1).*exp(-a(2).*t)+a(3).*exp(-a(4).*t);
E=c-C;

命令窗口
clear
a0=[2.4 1.5 0.022 0];
LB=[-inf 0 -inf 0];
UB=[];
t=[0.0833 0.5 1 2 4 8];
c=[2.2505 1.6489 0.2789 0.2412 0.1077 0.1035];
options=optimset('lsqnonlin');
[A norm res ef]=lsqnonlin(@fconstrain,a0,LB,UB,options,t,c);
cfit=A(1).*exp(-A(2).*t)+A(3).*exp(-A(4).*t);
plot(t,c,'*',t,cfit,'rh')
legend('原始数据','拟合数据')
结果是
A =
   2.587176647067854   1.500899543303364  
   0.069042182557558   0.000000000000041

约束.jpg

3楼2013-04-01 19:30:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

禁虫

lgycjpcqu的MATLAB代码就是正解。
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
5楼2013-04-04 16:37:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 0856材料化工调剂 总分330 +17 zhubinhao 2026-03-27 17/850 2026-03-31 18:56 by 小张做实验
[考研] 311求调剂一志愿合肥工业大学 +11 秋二十二 2026-03-30 11/550 2026-03-31 18:09 by 253863592
[考研] 江苏苏北高校诚邀调剂同学 +3 zzll406 2026-03-31 3/150 2026-03-31 16:54 by 及时行乐fan
[考研] 311求调剂 +9 蓝月亮亮 2026-03-30 9/450 2026-03-31 16:32 by yedezhan
[考研] 一志愿中国科学院大学265求调剂 +6 恬淡ye 2026-03-31 7/350 2026-03-31 11:28 by 恬淡ye
[考研] 0856调剂 +6 曲听筠 2026-03-30 6/300 2026-03-31 09:44 by Jaylen.
[考研] 一志愿 南京航空航天大学 ,080500材料科学与工程学硕 +5 @taotao 2026-03-30 5/250 2026-03-31 09:41 by zhshch
[考研] 一志愿中海洋320化学工程与技术学硕求调剂 +8 披星河 2026-03-30 8/400 2026-03-31 08:53 by lbsjt
[考研] 求调剂,一志愿 南京航空航天大学 ,080500材料科学与工程学硕,总分289分 +9 @taotao 2026-03-29 9/450 2026-03-30 22:29 by 我是小康
[考研] 304材料求调剂 +5 钟llll 2026-03-26 5/250 2026-03-30 19:37 by 源_2020
[考研] 289求调剂 +16 新时代材料 2026-03-27 16/800 2026-03-30 19:04 by Wang200018
[考研] 一志愿南开大学0710生物学359求调剂 +5 兔兔兔111223314 2026-03-29 7/350 2026-03-30 18:29 by 兔兔兔111223314
[考研] 329求调剂 +8 星野? 2026-03-26 8/400 2026-03-30 13:41 by chemdavid
[考研] 环境科学与工程334分求调剂 +6 王一一依依 2026-03-30 8/400 2026-03-30 11:52 by yjolah
[考研] 332求调剂 +6 Lyy930824@ 2026-03-29 6/300 2026-03-30 10:53 by 1172367218
[考研] 295求调剂 +5 wei-5 2026-03-26 5/250 2026-03-30 08:34 by 探123
[考研] 数一英一271专硕(085401)求调剂,可跨 +7 前行必有光 2026-03-28 8/400 2026-03-28 23:22 by 小木虫tim
[考研] 一志愿华理,数一英一285求A区调剂 +8 AZMK 2026-03-25 12/600 2026-03-28 18:15 by AZMK
[考研] 本科新能源科学与工程,一志愿华理能动285求调剂 +3 AZMK 2026-03-27 5/250 2026-03-28 16:19 by xxxsssccc
[考研] 打过很多竞赛,085406控制工程300分,求调剂 +3 askeladz 2026-03-26 3/150 2026-03-26 09:08 by 给你你注意休息
信息提示
请填处理意见