怎么用matlab拟合函数,最好是三元的多项式
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/13 21:54:54
尝试用二次多项式拟合: clearall; x=2:2:20; y=[0.31.232.416.267.958.529.049.179.299.37]; scatter(x,y,'ko
我尝试了一下,没有问题.输出数据和拟合一样.你是不是程序哪里出问题了.再问:那你能把具体函数发过来么?如果附带有参数的截图,就像我那样就更好了
非性线拟合一般是根据数据产生的特点来的(就是说数据产生符合什么分布函数)对你这样的应用,我个人感觉使用线性拟合简单易行:如下给定数据的拟合曲线:x=[0.5,1.0,1.5,2.0,2.5,3.0];
x=y=f=@(c,x)1./(c(1)*x+c(2));%拟合方程c0=[15];%系数初值t=lsqcurvefit(f,c0,x,y)%求得系数再问:��������
t=[0.25,0.5,0.75,1,1.5,2,2.5,3,3.5,4,4.5,5,6,7,8,9,10,11,12,13,14,15,16];y=[30,68,75,82,82,77,68,68,
线性模型、非线性模型是以待优化参数W为参考(而不是看X).y = w' * x ('表示转置)描述的是线性模型.题目中要拟合的函数是:
>> x=[0 0.1 0.2 0.4 0.6 0.8 1];y=[7.53 7.04 6.2&n
%nlinfit非线性参数拟合clc;clear;x=[1,2,3,4,5,6,7,8,9,10];y=[7,3,6,8,2,4,10,16,2,8];myfunc=inline('beta(1)*s
和其他方法一样
n=3;p=polyfit(x,y,n);再问:额。。我说的是三个未知数的多项式,不是三次多项式再答:p=poly3fit(x,y,z,n);再问:可以给具体的程序操作么
设拟合的2元2次方程为f(x,y)=b1*x²+b2*x*y+b3*y²+b4*x+b5*y+b6用Matlab的regress()函数拟合,也可以用自定义函数拟合.regress
程序是A=[0000004500084005000482610055001444340060003557600065091536940007002077241000007511143095691000
x=[1978:1:2010]';y=[56663274575576978998511101313142817821920215022922601314943385145580962416854765
你可以把步取去密一点,然后把拟合后的多项式用plot函数画出来不就行了吗?再问:拟合后得到的不是多项式的系数吗?只知道系数怎么画对应的函数图像?再答:知道系数后,可以用polyval计算啊!比如说:你
用plot(x,y,'ro-')看了下你的数据,线性关系很差.若用BP网络来拟合的话,可以按照如下步骤操作,其中很多参数你自己可以去尝试改变:>x=0:25;>y=[0004.049.2146.627
clear;clc F=@(p,x)p(1)*exp((x(:,1)-x(:,2)*p(4))/0.026/p(6))+p(2)*exp((x(:,1)-x(:,2)*p(4))/0.026
ln->logMatlab中ln就是log你的初值我改成000了,111的话,计算出来有一小部分虚数成份.另外最后一个plot我也改了一下,你的xx只有一个值啊,我也就直接改成x做图了.因为你的yy也
可以先输入数据x=[]y=[]接着输入cftoolmatlab的数据拟合工具箱吧界面的你看下里面首先是导入xy数据接着就可以自定义拟合函数了你试试看有问题找我好来
常数是一维的,后面乘个ones(m,1)试试(m自已定)
clear;clc;x=[1 2 3 4 5 6 7 8];y=[1 3 6 11 16&