matlab多变量拟合可以用的函数
来源:学生作业帮助网 编辑:作业帮 时间:2024/05/06 05:23:24
我尝试了一下,没有问题.输出数据和拟合一样.你是不是程序哪里出问题了.再问:那你能把具体函数发过来么?如果附带有参数的截图,就像我那样就更好了
首先定义你的函数,比如你想要做的幂函数是f(X)=a*n^(kx+l)+b先找一个区域,比如A1-A5,来表示存储以上公式中的非变量a、n、b、k、l然后形成函数的数据区域,比如B列和C列B列作为X值
取r1=3,参考代码:r1=3;t=0:0.1:2*pi;x=r1*cos(t);y=r1*sin(t);m=5*x+3*y;M = [x;y;m]; &nb
把数据列出来,用nlinfit.
%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
helppolyfitPOLYFITFitpolynomialtodata.POLYFIT(X,Y,N)findsthecoefficientsofapolynomialP(X)ofdegreeNth
两边取自然对数lnY=lnA-BX,令Z=lnY,C=-B,D=lnAZ=CX+D拟合这个直线就OK
t=0:0.5:5;s1=[0.5 -0.18 -0.01 0.13 0.1 0.31 -0.22 -0.31 0.2&
预测发现数据之间的关系
f=inline('1./sqrt((c*x).^2+1)','c','x');x=0:0.1:3y=1./sqrt((0.5*x).^2+1);f=inline('1./sqrt((c*x).^2+
f=[];u=[];plot(f,u,'o')holdonfun=inline(‘c(1)./((c(2).^2-f.^2).^2+c(3).*f.^2).^0.5','c','f');c=nlinf
y=[0.05260.09010.10890.15180.13470.08860.11570.11270.04070.03830.09190.14240.13490.12660.10510.09590
egress是线性拟合函数.多变量拟合.是什么意思.是形如:y=a*x1+b*x2+c*x3+d*x4+...+f;是这种形式吗?如果是这种形式;可用;拟合目标方程:y=b+b1*x1+b2*x2+b
clc;clear;close allU=[1.45,1.85,2.02,2.2,2.67,2.98];V=[200,400,500,600,800,1000];H=[25.6,43.5,5
你给我数据,我来帮你.再问:你告诉我输入matlab时的源代码就好了,坐标空起来,谢了再答:已发私信给你。
可以先输入数据x=[]y=[]接着输入cftoolmatlab的数据拟合工具箱吧界面的你看下里面首先是导入xy数据接着就可以自定义拟合函数了你试试看有问题找我好来
程序改成如下:y=[-1.553-1.06-0.879-1.032-1.081-1.066-0.893-0.928-1.222]';x=[1-1.0000-9.00004.8120;1-0.8240-
clear;clc;x=[1 2 3 4 5 6 7 8];y=[1 3 6 11 16&
这种比较复杂的式子拟合之前先化简一下比较好,至少可以两边取一下对数,另外,这个式子里a,b两个参数应该合到一起,否则是拟合不出结果的.
取对数,展开:log(y)=-x^2/c^2+2*x*b/c^2+log(a)-(b/c)^2用matlab解超定方程组的功能求[-x^2,2*x,1]*[1/c^2;b/c^2;log(a)-(b/