24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 3505  |  回复: 10
本帖产生 1 个 程序强帖 ,点击这里进行查看

yangger

新虫 (初入文坛)

[求助] 急切求助用matlab曲线拟合色散方程

现在有如下色散方程:

y^2 =  A + B/(x^2-C) - D x^2   ----------------Eq. 1

其中A,B, C, D为待定系数,现在有(x,y)的一组实验值; 如何得到最佳的A、B、C、D


我的思路如下:

step1 通过四对(x_i,y_i) 得到 A,B,C,D 值,
step2 代入Eq.1 输入x实验值,得到y拟合值,
step3 判断y拟合值和y实验值差值,
step4 如果差值大于10^-4则调节A,B,C,D;
step5 用新的ABCD,返回到step2

现在遇到的问题是 1.不收敛
                 2. 调节过的A,B,C,D有时候使得Eq.1方程右边小于零

求助:要是用matlab如何处理,

[ Last edited by yangger on 2011-6-3 at 12:53 ]
回复此楼

» 本帖已获得的红花(最新10朵)

» 猜你喜欢

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

fd
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

dubo

金虫 (著名写手)

优秀版主

【答案】应助回帖

★ ★
余泽成(金币+2, 程序强帖+1): 谢谢参与应助! 2011-06-04 19:30:05
yangger(金币+3): 非常感谢~~@ 2011-06-17 19:02:33
或者你仿照这个代码改改
function y = fitme_diheral( c,phi )
% A1=c(1);
% k1=c(2);
% x1=c(3);
% kBT=443*8.3145/1000;
aa=c(1);
bb=c(2);
cc=c(3);
dd=c(4);
ee=c(5);
ff=c(6);
psi=(phi-pi);
% y=0.5*(f1*(1+cosx)+f2*(1-cos(2*x))+f3*(1+cos(3*x))+f4*(1-cos(4*x)));
y=aa-bb.*cos(psi)+cc.*(cos(psi)).^2-dd.*(cos(psi)).^3+ee.*(cos(psi)).^4-ff.*(cos(psi)).^5;
end



clear;
clc;
load diherals.txt;
data=diherals;
%%avge the theta<0 and theta>0
a=data(1:180,2);
b=data(361:-1:182,2);
avg=0.5*(a+b);
data(1:180,2)=avg;
data(361:-1:182,2)=avg;

p=[24.5156799887984,-1.90007004205358,-1.66217137679272,3.06265999012061,2.33333792446086,-2.48454162655902;];
% data(:,2)=acf(data(:,2));
data3=data;
data3(:,1)=data3(:,1)*pi/180;

for i=1:50
%     [p,res]=lsqcurvefit('dihe',p,data3(:,1),data3(:,2));
    [p,res]=lsqcurvefit('fitme_diheral',p,data3(:,1),data3(:,2));
    %注意修改函数名dihe
    plot(data3(:,1),data3(:,2),'ro');
    hold on
    plot(data3(:,1),fitme_diheral(p,data3(:,1)));
     %注意修改函数名dihe(p,data3(:,1)
end
5楼2011-06-04 14:39:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

smithjohn

金虫 (正式写手)

【答案】应助回帖


dubo(金币+1): 谢谢参与 2011-06-04 14:34:19
加上几十上百组数不就over了?
为什么要一个一个的加啊,就算验证的话也不用这样吧?
2楼2011-06-03 23:28:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

杨小胖

金虫 (正式写手)


dubo(金币+1): 谢谢参与 2011-06-04 14:34:31
你说的这step1到step4其实在matlab中直接用polyfit和polyval这个函数不就可以实现了吗?
而且step4其实就是误差棒。
你再找找help里面的例子吧。我现在电脑上没有相关的代码。
回头贴出来。
人生中最辉煌的不是功成名就的时候,而是在失败和挫折中看到希望并为之奋斗的日子
3楼2011-06-04 13:36:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dubo

金虫 (著名写手)

优秀版主

【答案】应助回帖


余泽成(金币+1): 谢谢参与应助! 2011-06-04 19:29:51
楼上我的很对,MATLAB直接就可以拟合的
要么你把数据贴上来,我给你拟合一下
4楼2011-06-04 14:39:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yangger

新虫 (初入文坛)

引用回帖:
Originally posted by smithjohn at 2011-06-03 23:28:10:
加上几十上百组数不就over了?
为什么要一个一个的加啊,就算验证的话也不用这样吧?

普通编程思路, 对matlab不是很熟的后果。。。。。。。。。。。。。
fd
6楼2011-06-17 19:15:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yangger

新虫 (初入文坛)

引用回帖:
Originally posted by dubo at 2011-06-04 14:39:52:
或者你仿照这个代码改改
function y = fitme_diheral( c,phi )
% A1=c(1);
% k1=c(2);
% x1=c(3);
% kBT=443*8.3145/1000;
aa=c(1);
bb=c(2);
cc=c(3);
dd=c(4);
ee=c(5);
ff=c(6);
psi=(phi-pi);
% ...

非常感谢,我试试
fd
7楼2011-06-17 19:16:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
送鲜花一朵
支持
8楼2011-06-21 10:10:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

rns521

金虫 (正式写手)

都是大牛啊

[ 发自手机版 http://muchong.com/3g ]
9楼2011-06-21 11:32:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

liang201101

铜虫 (小有名气)

引用回帖:
5楼: Originally posted by dubo at 2011-06-04 14:39:52
或者你仿照这个代码改改
function y = fitme_diheral( c,phi )
% A1=c(1);
% k1=c(2);
% x1=c(3);
% kBT=443*8.3145/1000;
aa=c(1);
bb=c(2);
cc=c(3);
dd=c(4);
ee=c(5);
ff=c(6);
psi=(phi-pi);
% y ...

你好,我有个相似的问题,希望大侠帮帮忙,非常感谢,一共有8组数据,abcd是自变量,F是因变量,需要利用这些数据用matlab编程拟合成一条曲线,得出一个含有abcd变量的F=f(abcd)函数,由于初学不知道该怎么入手,希望能有源代码程序,这样我比较好理解一点,非常感谢!拜托大侠!
           F              a                 b              c              d
          4              30               98           330            16   
          4              50               80           300            14
          6              70               85           300            14
          9              90               82           300            14
          9             130              61.9         300            14
          12            150              75           300            14
          16            182              90           300            14
          20            200             115           330            16
希望能做出自己的东西,加油!
10楼2013-05-23 21:44:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 yangger 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 求调剂 +11 熊二想上岸 2026-04-04 11/550 2026-04-05 22:21 by 醉翁wl
[考研] 307分材料专业求调剂 +7 Hll胡 2026-04-05 7/350 2026-04-05 18:47 by 无际的草原
[考研] 化学0703-一志愿211-338分求调剂 +7 vants 2026-04-05 7/350 2026-04-05 18:17 by cql1109
[考研] 298求调剂 +3 manman511 2026-04-05 3/150 2026-04-05 18:09 by kk112233
[考研] 0703化学321分求调剂 +17 三dd. 2026-03-30 18/900 2026-04-05 18:07 by 蓝云思雨
[考研] 考研生物学考A区211,初试322,科目生化和生物综合,求调剂 +6 。。。54 2026-04-03 6/300 2026-04-05 14:54 by JOKER0401
[考研] 电子信息调剂交叉学科有推荐吗 +6 jhtfeybgj 2026-04-01 9/450 2026-04-05 11:13 by 猪会飞
[考研] 材料工程310专硕调剂 +13 捞捞我…. 2026-04-04 14/700 2026-04-05 09:01 by 来看流星雨10
[考研] 调剂 +9 19945159693 2026-04-03 10/500 2026-04-04 20:16 by dongzh2009
[考研] 334求调剂 +8 曾仰之 2026-04-03 8/400 2026-04-04 11:16 by w_xuqing
[考研] 一志愿沪985,326分求调剂 +3 刘墨墨 2026-04-03 3/150 2026-04-04 11:16 by 悲伤的芋头
[考研] 化工求调剂 +11 荔香芝士椰奶 2026-04-03 11/550 2026-04-03 22:06 by 啵啵啵0119
[考研] 336求调剂 +8 kiyy 2026-04-01 8/400 2026-04-03 19:41 by lijunpoly
[考研] 一志愿厦门大学材料工程专硕354找调剂!!! +8 贝呗钡钡 2026-03-30 8/400 2026-04-03 09:41 by hypershenger
[考研] 282求调剂 +13 呼吸都是减肥 2026-04-01 13/650 2026-04-02 14:10 by baoball
[考研] 材料调剂 +11 一样YWY 2026-03-31 11/550 2026-04-01 22:25 by zhouyuwinner
[考研] 322求调剂 +8 三水sss 2026-04-01 8/400 2026-04-01 10:19 by 唐沐儿
[考研] 江苏苏北高校诚邀调剂同学 +3 zzll406 2026-03-31 3/150 2026-03-31 16:54 by 及时行乐fan
[考研] 考研调剂求助 +7 13287130938 2026-03-31 7/350 2026-03-31 16:39 by 690616278
[考研] 274求调剂 +6 xiao爱同学 2026-03-30 6/300 2026-03-31 10:04 by cal0306
信息提示
请填处理意见