24小时热门版块排行榜    

查看: 2754  |  回复: 5

yangtree

银虫 (初入文坛)

[求助] 如何用matlab对四维数据进行非线性拟合?

小弟在数据处理时,需要对四维数据进行非线性拟合,以得到需要的参数,不知如何操作,请大侠出手相助!问题在附图中,请将具体的操作步骤及编制的程序附上,谢谢!急用,在线等!

问题.jpg
回复此楼

» 猜你喜欢

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

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

chunbendan

铜虫 (初入文坛)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ...
感谢参与,应助指数 +1
yangtree: 金币+60, ★★★很有帮助, 您好,谢谢您的帮助,麻烦您告知参数的范围如何限制,见3楼,然后我将会把所有的悬赏金币给您! 2013-04-28 10:21:44
这个很简单啊,用lsqcurvefit或者lsqnonlin都可以。比如:

function ydata = myfun(a,xdata)

ydata=xdata(:,1).*xdata(:,2).*xdata(:,3)./(a(1)*ones(size(xdata(:,1)))... +xdata(:,1))./(a(2)*ones(size(xdata(:,2)))+...
    xdata(:,2))./(a(3)*ones(size(xdata(:,3)))+xdata(:,3));

x=10*rand(10,3)
y=10*rand(10,1)
a=[1,1,1]
a_final=lsqcurvefit(@myfun,a,x,y)

a_final就是结果啦。

x =

    3.5166    0.7585    1.6218
    8.3083    0.5395    7.9428
    5.8526    5.3080    3.1122
    5.4972    7.7917    5.2853
    9.1719    9.3401    1.6565
    2.8584    1.2991    6.0198
    7.5720    5.6882    2.6297
    7.5373    4.6939    6.5408
    3.8045    0.1190    6.8921
    5.6782    3.3712    7.4815


y =

    4.5054
    0.8382
    2.2898
    9.1334
    1.5238
    8.2582
    5.3834
    9.9613
    0.7818
    4.4268


a =

     1     1     1


Local minimum possible.

lsqcurvefit stopped because the final change in the sum of squares relative to
its initial value is less than the default value of the function tolerance.




b =

   -2.3826   -0.2813   -0.2945
2楼2013-04-26 09:03:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yangtree

银虫 (初入文坛)

引用回帖:
2楼: Originally posted by chunbendan at 2013-04-26 09:03:18
这个很简单啊,用lsqcurvefit或者lsqnonlin都可以。比如:

function ydata = myfun(a,xdata)

ydata=xdata(:,1).*xdata(:,2).*xdata(:,3)./(a(1)*ones(size(xdata(:,1)))... +xdata(:,1))./(a(2)*ones(size(xd ...

谢谢您的帮助,另外在您这个程序中,怎样保证a1、a2、a3的拟合值均处于允许的取值范围内,请见附图。本人刚开始学着用matlab,请解答的详细些,谢谢您!
3楼2013-04-26 09:37:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

chunbendan

铜虫 (初入文坛)

【答案】应助回帖

引用回帖:
3楼: Originally posted by yangtree at 2013-04-26 09:37:36
谢谢您的帮助,另外在您这个程序中,怎样保证a1、a2、a3的拟合值均处于允许的取值范围内,请见附图。本人刚开始学着用matlab,请解答的详细些,谢谢您!...

这个输出时可以看到拟合误差和方差,也可以设置终止条件,即达到某一精度或者一定循环次数就停止。现在没在电脑旁,晚上回去告诉你

[ 发自手机版 http://muchong.com/3g ]
4楼2013-04-28 16:27:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yangtree

银虫 (初入文坛)

引用回帖:
4楼: Originally posted by chunbendan at 2013-04-28 16:27:54
这个输出时可以看到拟合误差和方差,也可以设置终止条件,即达到某一精度或者一定循环次数就停止。现在没在电脑旁,晚上回去告诉你
...

多谢你了,能否说的更详细点,比如三个参数a1、a2、a3在拟合时应保证:1小于a1小于5,0.3小于a2小于0.8,10小于a2小于15,那么在编程时需如何设定限制条件?
5楼2013-04-30 22:39:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

chunbendan

铜虫 (初入文坛)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
yangtree: 金币+40, ★★★★★最佳答案, 谢谢您的帮助,前一段时间忙些事情,没上小木虫,金币给晚了,对不起! 2013-05-31 22:20:04
亲,前两天出去了。记得不会就去查帮助哦,帮助上写的很清楚
x = lsqcurvefit(fun,x0,xdata,ydata,lb,ub,options)
其中lb是下限,ub是上限,默认不写是无上限下限的,你输入时设置好lb和ub就可以了

function ydata = myfun(a,xdata)

ydata=xdata(:,1).*xdata(:,2).*xdata(:,3)./(a(1)*ones(size(xdata(:,1)))... +xdata(:,1))./(a(2)*ones(size(xdata(:,2)))+...
    xdata(:,2))./(a(3)*ones(size(xdata(:,3)))+xdata(:,3));

x=10*rand(10,3)
y=10*rand(10,1)
a=[1,1,1]
lb=[1 0.3 10];
ub=[5 0.8 15];
a_final=lsqcurvefit(@myfun,a,x,y,lb,ub)

这样就能算出来啦
6楼2013-05-01 15:38:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 yangtree 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 一志愿中海洋材料工程专硕330分求调剂 +5 小材化本科 2026-03-18 5/250 2026-03-18 21:53 by 无懈可击111
[考研] 267一志愿南京工业大学0817化工求调剂 +8 SUICHILD 2026-03-12 8/400 2026-03-18 20:55 by winsuccess
[考研] 0703化学调剂,求各位老师收留 +9 秋有木北 2026-03-14 9/450 2026-03-18 19:49 by macy2011
[考研] 化工学硕306求调剂 +10 42838695 2026-03-12 10/500 2026-03-18 14:42 by haxia
[考研] 材料与化工一志愿南昌大学327求调剂推荐 +8 Ncdx123456 2026-03-13 9/450 2026-03-18 14:40 by haxia
[考研] 0703化学调剂 +4 pupcoco 2026-03-17 7/350 2026-03-18 12:14 by djl2006
[考研] 268求调剂 +7 好运连绵不绝 2026-03-12 8/400 2026-03-17 20:28 by xilongliang
[考研] 梁成伟老师课题组欢迎你的加入 +8 一鸭鸭哟 2026-03-14 10/500 2026-03-17 15:07 by 一鸭鸭哟
[考研] 290求调剂 +6 孔志浩 2026-03-12 11/550 2026-03-17 14:41 by 周舟舟77
[基金申请] 国自科面上基金字体 +6 iwuli 2026-03-12 7/350 2026-03-16 21:18 by sculhf
[基金申请] 今年的国基金是打分制吗? 50+3 zhanghaozhu 2026-03-14 3/150 2026-03-16 17:07 by 北京莱茵润色
[考研] 277材料科学与工程080500求调剂 +3 自由煎饼果子 2026-03-16 3/150 2026-03-16 14:10 by 运气yunqi
[考研] 机械专硕调剂 +3 笨笨兔子 2026-03-12 3/150 2026-03-15 20:02 by 栗子粥?
[考研] 26考研一志愿中国石油大学(华东)305分求调剂 +3 嘉年新程 2026-03-15 3/150 2026-03-15 13:58 by 哈哈哈哈嘿嘿嘿
[考研] 265求调剂 +4 威化饼07 2026-03-12 4/200 2026-03-14 17:23 by userper
[考研] 复试调剂 +4 z1z2z3879 2026-03-14 5/250 2026-03-14 16:30 by JourneyLucky
[考研] 学硕285求调剂 +13 Wisjxn 2026-03-12 46/2300 2026-03-14 10:33 by JourneyLucky
[考研] 考研调剂 +4 芬达46 2026-03-12 4/200 2026-03-13 16:04 by ruiyingmiao
[考研] 一志愿211化学学硕310分求调剂 +8 努力奋斗112 2026-03-12 9/450 2026-03-13 15:41 by JourneyLucky
[考研] 材料301分求调剂 +5 Liyouyumairs 2026-03-12 5/250 2026-03-13 14:42 by JourneyLucky
信息提示
请填处理意见