24小时热门版块排行榜    

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

quan_zhang

银虫 (小有名气)

[交流] 【求助】matlab用lsqnonlin非线性拟合的问题【已解决】 已有1人参与

大家好啊,我有个一个利用matlab的最小二乘法来求解参数的问题,困扰了我好久了。
具体情况如下:我有一个函数f(x)=346/15975*sin(4*pi*x/3.195)*pi-3196/3195*sin(2*pi*x/3.195)*pi且x=[0,1],另外一个带参数的函数为


            
且x=[0,1],  a1+a2+a3=1,且a1,a2,a3=(0,1),我想用lsqnonlin来拟合。
我的做法如下:
1.先建立函数文件,并保存为myfunlin.m
function y=myfunlin(x,xdata)
xdata=[0    0.3195  0.639   0.9585  1.278   1.43775 1.5975  1.75725 1.917   2.2365  2.556   2.8755  3.195];
ydata=[0    -1.782446806    -2.948772499    -3.028762147    -1.911872775    -1.011104195    0   1.011104195 1.911872775 3.028762147 2.948772499 1.782446806 1E-15];
y=4.3688*((x(1)*(xdata-x(2)))./((xdata-x(2)).^2+x(3).^2)+(x(4))*(xdata-x(5))./((xdata-x(5)).^2+x(6).^2)+(1-x(1)-x(4))*(xdata-x(7))./((xdata-x(7)).^2+x(8).^2));

2.然后调用优化程序:
x0=[0.12  3.32  0.16  0.12  -0.13 0.17  0.16  1.2];
x=lsqnonlin('myfunlin',x0)
得到结果
  -1.4874    2.8738    0.9386   -1.7023    0.3343    0.9831    1.5173    2.0017此时ai的范围不能控制,那么应该如何控制ai的范围呢?

[ Last edited by nono2009 on 2010-10-31 at 07:24 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lidaxue

木虫 (正式写手)

之乎者也


nono2009(金币+1):鼓励应助 2010-10-28 14:02:08
quan_zhang(金币+3): 2010-10-30 15:01:21
引用回帖:
Originally posted by quan_zhang at 2010-10-28 09:43:51:

是不是要对t,c赋值啊,我输入出现 Undefined function or variable 't'.

晕  楼主没有理解我的意思啊,[]后面的t,c是传递的参数,这里只给你一个例子,让你根据自己的需要修改一下的
Comeon!
8楼2010-10-28 13:12:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 9 个回答

quan_zhang

银虫 (小有名气)

引用回帖:
Originally posted by change0618 at 2010-10-26 13:52:48:
help lsqnonlin

什么意思啊?能具体点吗?
3楼2010-10-26 15:39:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

change0618

铁杆木虫 (著名写手)

方丈大师

quan_zhang(金币+1): 2010-10-27 09:15:46
quan_zhang(金币+1): 2010-10-27 09:16:08
X = LSQNONLIN(FUN,X0,LB,UB) defines a set of lower and upper bounds on
    the design variables, X, so that the solution is in the range LB <= X
    <= UB. Use empty matrices for LB and UB if no bounds exist. Set LB(i)
    = -Inf if X(i) is unbounded below; set UB(i) = Inf if X(i) is
    unbounded above.
4楼2010-10-26 17:40:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lidaxue

木虫 (正式写手)

之乎者也

quan_zhang(金币+2): 2010-10-27 09:16:03
quan_zhang(金币+2): 2010-10-27 21:15:11
function seqcurvefit11
clear all;
load seqdata;
beta0=[0.005 0.001];

lb=[0 0];ub=[inf inf];
[beta,resnorm,residual,exitflag,output,lambda,jacobian] = ...
    lsqnonlin(@seqfun,beta0,lb,ub,[],t,c);


function y = seqfun(beta,t,c)
ca=exp(-beta(1)*t);
cb=beta(1)/(beta(2)-beta(1))*(exp(-beta(1)*t)-exp(-beta(2)*t));
y=[ca-c(:,1) cb-c(:,2)];
楼主 依葫芦画瓢吧~
Comeon!
5楼2010-10-26 18:48:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 某些机构,以效率低为荣,以效率低作为存在感 +9 yuleib84 2026-08-25 10/500 2026-08-25 17:14 by alexon
[基金申请] 今天务委会开完了,明天出结果吗 +11 angus9576 2026-08-25 11/550 2026-08-25 17:08 by ZJTJZ
[基金申请] 有没有大神帮我看看基金代码 28+3 1234567wang 2026-08-24 9/450 2026-08-25 16:51 by 北京莱茵编辑
[基金申请] 在坚冰还盖着北海的时候,我看到了怒放的梅花。 +6 ziyangfang 2026-08-25 8/400 2026-08-25 16:28 by 宝贝的猪
[基金申请] 今日不放榜?网传国自然预计 8 月 27 日可查结果 +17 医学老男孩 2026-08-20 22/1100 2026-08-25 15:36 by 医学老男孩
[基金申请] 放榜前的不淡定 20+4 snowwithsea 2026-08-19 18/900 2026-08-25 14:50 by Weed114114
[基金申请] 如果此刻你正在为国基感到焦虑,不妨来听听这首《基金之外》 +8 scalable 2026-08-24 8/400 2026-08-25 12:52 by jnhyjjm
[教师之家] 导师吐槽:我怎么摊上了这么个极品研究生! +3 苏东坡二世 2026-08-23 3/150 2026-08-25 10:35 by shisan1313
[基金申请] 2026年的国家社科基金项目通讯评审的新规则与新动向、新挑战 +5 process2012 2026-08-23 7/350 2026-08-25 09:42 by huixian257
[基金申请] 今天基金会出结果吗?20260819 +17 kkkl_v 2026-08-19 18/900 2026-08-25 09:41 by windflowerwy
[基金申请] 我面上完蛋了 +13 且听虎啸 2026-08-20 14/700 2026-08-25 09:10 by mrkang
[基金申请] 明天应该可查了!? +5 chengyan1220 2026-08-23 5/250 2026-08-24 23:28 by 我4大白菜
[基金申请] 能否退出参与的面上项目解除限项 +21 koalala 2026-08-24 24/1200 2026-08-24 19:25 by 家与远方
[基金申请] 让我中一个面上吧! +13 大萍1987 2026-08-20 16/800 2026-08-24 10:23 by 太傻了
[教师之家] 跳槽后在研项目怎么办? +5 简单化xn 2026-08-22 10/500 2026-08-23 12:38 by 简单化xn
[基金申请] 时间戳今天,20号变了 +5 archvillain 2026-08-20 5/250 2026-08-22 06:12 by hui_daxiao
[基金申请] 看来今天不会放榜了? +8 chengyan1220 2026-08-21 11/550 2026-08-21 17:52 by dcqxinyang
[基金申请] 应该是下周三26日公布了吧? +4 哈哈蛤? 2026-08-21 4/200 2026-08-21 10:58 by Vivilian
[基金申请] 今天放榜没戏了吧 +9 yuleib84 2026-08-19 11/550 2026-08-21 10:06 by gltch
[基金申请] 基金啊基金 +4 longfie172 2026-08-20 4/200 2026-08-21 08:58 by mark mao
信息提示
请填处理意见