| 查看: 2505 | 回复: 2 | ||
| 【悬赏金币】回答本帖问题,作者束文生将赠送您 25 个金币 | ||
[求助]
求助介电常数(复数)怎么用一阶德拜方程拟合 已有1人参与
|
||
|
介电常数在每个频点的数据为复数,现在知道部分频点的介电常数,需要用一阶德拜方程来拟合,如何得到德拜方程的系数呢?用matlab还是origin? 一阶德拜方程: y=(a+(b-a)/(1+(2*pi*f*c)^2))-j*(d/(2*pi*f*(1/(36*pi)*10^-9))+((b-a)*2*pi*f*c)/(1+(2*pi*f*c)^2));其中f为频率,a b c d 为需要拟合的系数; 频率: 3000000 4000000 5000000 6000000 7000000 8000000 9000000 10000000 15000000 20000000 25000000 30000000 40000000 50000000 60000000 70000000 80000000 90000000 100000000 介电常数实部: 13.5 10.61 8.8 7.58 6.7 6.04 5.53 5.12 3.92 3.35 3 2.78 2.52 2.37 2.26 2.18 2.11 2.048 2.01 介电常数虚部: 17.85 15.28 13.35 11.86 10.67 9.72 8.93 8.27 6.07 4.83 4.02 3.46 2.72 2.25 1.92 1.67 1.47 1.3 1.17 |
» 猜你喜欢
2026国自然函评费到账
已经有9人回复
放榜前的不淡定
已经有14人回复
建议基金发布提前给出明确的时间点
已经有13人回复
今日不放榜?网传国自然预计 8 月 27 日可查结果
已经有20人回复
科研孤儿太难了
已经有18人回复
看来今天不会放榜了?
已经有11人回复
时间戳又变了
已经有19人回复
filecode,4个jtjc了
已经有14人回复
让我中一个面上吧!
已经有13人回复
人气不行了
已经有7人回复
【答案】应助回帖
|
用OpenLu(可从www.forcal.net下载)求解。 !!!using["luopt","math","win"]; //使用命名空间 g(a,b,c,d,f)= (a+(b-a)/(1+(2*pi*f*c)^2))-1.0i*(d/(2*pi*f*(1/(36*pi)*1e-9))+((b-a)*2*pi*f*c)/(1+(2*pi*f*c)^2)); 目标函数(a,b,c,d : i,s, e11,e22 : max, f, e1, e2)= { i=-1, s=0, while{++i<max, toreal[g(a,b,c,d,f(i,0)), &e11,&e22], s=s+[e1(i,0)-e11]^2+[e2(i,0)-e22]^2 }, s }; main(: tArray : max, f, e1, e2)= { tArray=matrix{ //存放实验数据 //f e1[realPart] e2[imagPart] "3000000 13.5 17.85 4000000 10.61 15.28 5000000 8.8 13.35 6000000 7.58 11.86 7000000 6.7 10.67 8000000 6.04 9.72 9000000 5.53 8.93 10000000 5.12 8.27 15000000 3.92 6.07 20000000 3.35 4.83 25000000 3 4.02 30000000 2.78 3.46 40000000 2.52 2.72 50000000 2.37 2.25 60000000 2.26 1.92 70000000 2.18 1.67 80000000 2.11 1.47 90000000 2.048 1.3 100000000 2.01 1.17 " }, len[tArray,0,&max], f=tArray(all:0), e1=tArray(all:1),e2=tArray(all:2), //用len函数取矩阵的行数,f等取矩阵的列 Opt1[@目标函数] //Opt1函数全局优化 }; 结果(a,b,c,d,最小值): 2.393920870707986 18.24067405097755 -3.758382749525807e-008 -1.610640545623026e-003 3.654009362095743 |
2楼2021-08-09 13:59:26
3楼2021-08-09 16:18:04









回复此楼
40