求matlab 拟合曲面拟合出y=a-b^x的曲...

求matlab拟合出y=a-b^x的曲线得程序_百度知道
求matlab拟合出y=a-b^x的曲线得程序
p = polyfit(x,y,n)x,y用于拟合数据点n项式数指数先两边取log转换阶项式
其他类似问题
为您推荐:
您可能关注的推广
matlab的相关知识
其他2条回答
x=-10:10;y=a-b.^x;plot(x,y)
查看 polyfit, polyval函数的用法你就知道了
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁用MATLAB对y=a*x^b模型函数的拟合_百度知道
用MATLAB对y=a*x^b模型函数的拟合
用MATLABy=a*x^b模型函数拟合x=[0.64,0.13,0.064,0.04];Y=[100,500,];需要命令函数急用满意者追加20积
提问者采纳
x=[0.64,0.13,0.064,0.04];Y=[100,500,];f=inline('betafit(1).*x.^betafit(2)','betafit','x');[betafit,res]=lsqcurvefit(f,[0.02,0.0000002],x,Y);
betafit',resyy=betafit(1).*x.^betafit(2);corr=corrcoef(Y,yy)figure(1)plot(x,yy,'b',x,Y,'r')直接运行betafitab值 别
提问者评价
你这个结果很好,只是图形怎么是折线,可不可以改为连续的曲线
其他类似问题
为您推荐:
matlab的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁matlab拟合指数函数y=a(exp(b/x))_百度作业帮
matlab拟合指数函数y=a(exp(b/x))
matlab拟合指数函数y=a(exp(b/x))
程序如下:x1=[1.1,1.15,1.2,1.25,1.3,1.35,1.4,1.45,1.5];y1=[5.9,5.1,4.75,4.6,4.55,4.5,4.45,4.43,4.5];eq=inline('a(1)*(exp(a(2)./x))','a','x');a=nlinfit(x1,y1,eq,[0.1
1])x2=1.1:0.00...& 在matlab中经常需要对数据进行曲线拟合,如最常见的多项式拟合,一般可以通过cftool调用曲线拟合工具(curve fit tool),通过图形界面可以很方便的进行曲线拟合,但是有些时候也会遇到不方便用图形工具。因此这里简单的记下两种常用的拟合方法。 1 多项式拟合(polyfit和polyval) polyfit可以对数据进行拟合(自定义用几次多项式),返回相应的参数,然后用polyval生成拟合后的数据点,下面的例子中我们对抛物线y=3x2+6x+5进行拟合。 x = -<span style="color: #:<span style="color: #.1:<span style="color: #;
y = <span style="color: #*x.^<span style="color: #+<span style="color: #*x + <span style="color: # + randn(size(x));
p = polyfit(x,y,<span style="color: #);
yy = polyval(p,x);
plot(x,y,'.');
plot(x,yy,'r','LineWidth',<span style="color: #)
polyfit(x,y,2)中x表示自变量,y表示因变量,2表示用二次曲线(抛物线)进行拟合,得到的p其实是对应的参数估计值,yy为拟合数据点。另外在实验中还加了一个随机噪声。结果如图:
2 高斯函数的曲线拟合
高斯曲线也是很常要拟合的曲线,这里介绍一种直接用代码使用cftool拟合工具的方法,这种方法可以对许多自定义的函数进行拟合(例如用来做多项式拟合,但是这种方法要麻烦很多,远没有前一种方法多项式拟合方便)。下面的是一个简单的例子,其中还可以进行更复杂的设置,具体请help fit和fittype.
f = fittype('a*exp(-((x-b)/c)^2)');
x = -<span style="color: #:<span style="color: #.2:<span style="color: #;
y = <span style="color: #*exp(-((x)/<span style="color: #).^<span style="color: #)+randn(size(x))*0.1;
plot(x,y,'.')
[cfun,gof] = fit(x(:),y(:),f);
yy = cfun.a*exp(-((x-cfun.b)/cfun.c).^<span style="color: #);
plot(x,yy,'r','LineWidth',<span style="color: #);
结果如下图:
此外,高斯曲线的拟合也可以通过转化为多项式拟合的方法实现,先将被拟合数据y取对数,然后用多项式拟合求出对应的参数。代码如下:
x = -<span style="color: #:<span style="color: #.2:<span style="color: #;
y = <span style="color: #*exp(-((x)/<span style="color: #).^<span style="color: #);
lny = log(y);
p = polyfit(x,lny,<span style="color: #);
gauss.c = sqrt(-<span style="color: #/p(<span style="color: #));
gauss.b = -p(<span style="color: #)/<span style="color: #/p(<span style="color: #);
gauss.a = exp(p(<span style="color: #)-p(<span style="color: #)*gauss.b^<span style="color: #);
yy = gauss.a*exp(-((x-gauss.b)/gauss.c).^<span style="color: #);
plot(x,y,'.');
plot(x,yy,'r','LineWidth',<span style="color: #)
结果如图所示,但是这种方法似乎只在没有噪声干扰时效果较好,如果存在噪声的干扰的话,那么这个估计不是最佳的(因为对数运算使不同区间的噪声影响不同),右图为加了噪声之后的情况.
&&&&&&&&&&&&&&&
阅读(...) 评论()用心创造滤镜
扫码下载App
汇聚2000万达人的兴趣社区下载即送20张免费照片冲印
扫码下载App
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
阅读(3864)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
loftPermalink:'',
id:'fks_',
blogTitle:'matlab求两曲线交点',
blogAbstract:'% P=intp(X1,Y1,X2,Y2)% 求两组离散点序列的交点% X1,Y1为第一组的横纵坐标,X2,Y2为第二组横纵坐标,横坐标必须为有序数列。% 返回值P为交点坐标,两列矩阵,第一列为横坐标,第二列为纵坐标。function P=intp(X1,Y1,X2,Y2)X1=X1(:);&&& % 变为列向量X2=X2(:);Y1=Y1(:);Y2=Y2(:);if max(X1)&min(X2) || max(X2)&min(X1)&&& P=[];&&&&&& % 两个区间没有重叠,不可能有交点',
blogTag:'',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:5,
publishTime:1,
permalink:'blog/static/',
commentCount:1,
mainCommentCount:1,
recommendCount:1,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:false,
hostIntro:'',
hmcon:'1',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}

我要回帖

更多关于 matlab 拟合曲面 的文章

 

随机推荐