| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3167 人关注过本帖
标题:怎样用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
快速回复:怎样用matlab对二次根式函数进行拟合
数据加载中...
 
   



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

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