24小时热门版块排行榜    

查看: 786  |  回复: 0

aaa2742

木虫 (正式写手)

[求助] 非线性拟合表达式较复杂,拆分后可以处理吗,在Matlab中

有一个光谱的表达式较复杂,且某些变量与波长也有变化关系,想做一个非线性拟合,
一开始只是用的循环枚举参数的方法求得最优的参数,现在使用想使用lqscurvefit,但是报错
CODE:
pai = 3.14;
len = length(xdata);
N0 = 1*ones(len,1);
%N0 = 1;
N1 = 1.448+3634./power(xdata,2)-8.885./power(xdata,4);
N2 = ((3.363*xdata -946.7)./(xdata -328.6))+1i*((-0.03382*xdata + 27.03)./(xdata -365.3));
t = @(x) 2*pai.*N1*x./xdata;
r = @(x)((N0-N2).*cos(t(x))+1i*(N0.*N2./N1-N1).*sin(t(x)))./((N0+N2).*cos(t(x))+1i*(N0.*N2./N1+N1).*sin(t(x)));
% test = r(100);
Fun = @(x)(r(x).*conj(r(x)));
RFun = @(x) norm(Ry-r(x).*conj(r(x)));
% [res,fval,exitflag,output] = fminbnd(RFun,1,5000)

res = lsqcurvefit(Fun,1,xdata,Ry)
m = 1;
for h = 1:0.01:100
    res(m) = RFun(h);
    m = m +1;
end
[C,I] = min(res)
k = 1:0.01:100;
k(I)

使用lqscurvefit出错:
CODE:
Error using @(x)(r(x).*conj(r(x)))
Too many input arguments.

Error in lsqcurvefit (line 195)
            initVals.F = feval(funfcn_x_xdata{3},xCurrent,XDATA,varargin{:});

Error in RFitModel_2 (line 34)
res = lsqcurvefit(Fun,1,xdata,Ry)

Caused by:
    Failure in initial user-supplied objective function evaluation. LSQCURVEFIT cannot continue.

使用循环枚举的方法倒是可以得到一个较优的数值,但是计算耗时长,且间隔设置的大小对结果都有影响,间隔小,耗时长;间隔大,不准确。
请问该怎样解决该问题,想寻找别的算法,公式中含有复数,只不过最后乘以它的共轭,所以如果都有参数的话计算的数值是整数,但是现在是反推其中的一个参数。
所以尝试使用lqscurvefit进行拟合,结果错了,难道非得把表达式全部写全弄到一个里面吗,那也太长也容易出错啊。
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 aaa2742 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 咱们一起用铁证分析2026国家社科基金中标与否 +7 启萌科技 2026-08-12 27/1350 2026-08-18 21:44 by Noways
[教师之家] 为什么余额宝的年化利率越来越低?主要原因有哪些? +3 瞬息宇宙 2026-08-15 3/150 2026-08-18 21:40 by xiaohuixin
[基金申请] 2027广东省杰青 +3 奶牛小黑 2026-08-15 9/450 2026-08-18 20:09 by 奶牛小黑
[基金申请] 朋友圈看到的 +4 wangzilk 2026-08-18 5/250 2026-08-18 19:25 by wangzilk
[基金申请] 欢迎发来filecode的Mz6后的代码验证其规律 +51 医学老男孩 2026-08-13 110/5500 2026-08-18 19:07 by icerianxia
[基金申请] 明天放榜? +5 Shxjjxjkx 2026-08-18 5/250 2026-08-18 18:14 by -大大大大大-
[基金申请] 时间戳变了,能看出什么问题? +8 基诺咪客 2026-08-17 11/550 2026-08-18 17:13 by 悠然熊猫
[论文投稿] 投稿咨询 +4 wwm09 2026-08-17 6/300 2026-08-18 15:36 by wwm09
[基金申请] 今天维护系统维护 祝所有人 高中 +8 gjjjzhong 2026-08-18 9/450 2026-08-18 13:01 by 家与远方
[基金申请] 哪位老哥知道今年的国自然具体哪一天放榜? +13 Ldrop2023 2026-08-13 16/800 2026-08-18 12:25 by 淀粉搬运工
[基金申请] 快农历七夕节了,轻松一下,男人悄悄话,女施主请不要进来。 +4 Tide man 2026-08-14 5/250 2026-08-18 11:35 by Tide man
[基金申请] 93BebMhtakh前后11位开头都是大写 +4 且听虎啸 2026-08-17 5/250 2026-08-18 00:49 by 蔡棒棒菂
[基金申请] filecode=后面第一个是大写字母 +8 wangze12014 2026-08-14 10/500 2026-08-17 17:05 by xter9665
[基金申请] 今天系统多次维护,明天很可能放榜! +8 zju2000 2026-08-16 9/450 2026-08-17 12:20 by lmz0216
[精细化工] 招聘 金属平磨液,抛光液研发工程师 +3 小天0311 2026-08-14 3/150 2026-08-16 07:31 by H9PLUS
[基金申请] 各位道友,我要去昆明玩几天,回来见。 +7 Tide man 2026-08-14 8/400 2026-08-15 01:11 by arzu_hma
[基金申请] 重要来源:本周末出结果 +10 瞬息宇宙 2026-08-12 10/500 2026-08-13 15:46 by likettle
[基金申请] 不应该看fileCode +7 且听虎啸 2026-08-12 9/450 2026-08-13 14:27 by flydreamws
[基金申请] Filecode 又变了,巨变 +3 WH3796 2026-08-12 4/200 2026-08-13 14:13 by 小木虫6752397
[基金申请] 结合人工智能,周易传统文化,filecode打分制来了,3分以上希望很大。 +3 Tide man 2026-08-12 4/200 2026-08-13 08:35 by ZJTJZ
信息提示
请填处理意见