标题:怎样用matlab对二次根式函数进行拟合
只看楼主
xuanyuanyun
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2008-4-9
 问题点数:0 回复次数:3 
怎样用matlab对二次根式函数进行拟合
已知函数形式:
y^2=a*x^2+b*x+c
现在需要做出拟合曲线并求出各系数.
matlab里面已有的cftool工具箱里面没有这样的拟合方式


这个是要用来对实验数据进行处理的.
例如
x=[0 0.47 1 1.47 2 2.2 2.47 2.67 3.2 3.67 4.2 4.4 4.87 5.4 5.87 6.4 6.6 7.07 7.6 8.07 8.6 9.07]
y=[0.371 0.350 0.320 0.296 0.268 0.259 0.248 0.239 0.215 0.199 0.187 0.186 0.182 0.180 0.182 0.193 0.199 0.213 0.236 0.263 0.301 0.331]
求具体拟合方法
而且后期还需要做一个t=(a*x+b)/y的曲线拟合,所以最好能有可以直接用cftool工具箱拟合的方法...
谢谢了
搜索更多相关主题的帖子: 拟合 matlab 根式 函数 
2008-11-28 00:41
meteora1106
Rank: 2
等 级:新手上路
威 望:5
帖 子:126
专家分:0
注 册:2008-9-15
得分:0 
这就是一个二次多项式的拟合么,用polyfit(x,y,n);取n=2就可以了,返回多项式的系数向量
2008-11-28 23:02
ddc
Rank: 2
等 级:新手上路
威 望:3
帖 子:23
专家分:0
注 册:2008-9-9
得分:0 
先画出散点图,在图形窗口点tools,选Basic Fitting,在弹出的窗口左边选你需要的拟和,
这是最简单的方法。
2008-12-05 18:37
ydgsl
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:107
专家分:20
注 册:2006-9-20
得分:0 
有两种拟合结果:
一种是fx1=@(b,x)sqrt(b(1)*x.^2+b(20*x+b(3))
b=[.43714247e-2, -.44192033e-1, .14281110]
lsqcurvefit(fx1,b,x,y)
b=[.43714247e-2, -.44192033e-1, .14281110]
RSS =.5099161667e-3
R^2= 0.9932
另一种是先将y平方,Y=y.^2;
fx2=@(b,x)b(1)*x.^2+b(2)*x+b(3)
b=[.44068474e-2, -.44253673e-1, .14217014]
b=lsqcurvefit(fx2,b,x,Y)
b=[.44068474e-2, -.44253673e-1, .14217014]
RSS=.14609031e-3
R^2=0.9931
两者的结果不是完全相同的,后者即为多项式拟合。

[[it] 本帖最后由 ydgsl 于 2008-12-8 10:42 编辑 [/it]]
2008-12-08 10:30



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-246626-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.168114 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved