如何用matlab拟合多变量曲线并制图
来源:学生作业帮助网 编辑:作业帮 时间:2024/04/26 07:47:51
需要数据然后根据函数是否线性采用不同的方法基本原则是最小二乘
x=[123456];y=[2.13.96.18.210.312];nh1=polyfit(x,y,2);%这里是二次拟合,你也可以先画出大概图形估计它是几次曲线然后再判断是12还是3..等.m=1:
xi=[0.019,0.023,0.027];%xdatayi=[430,380,256];%ydataabc0=[4,0.5,5];%initialvalues%%初始值设定abc=lsqcurve
首先定义你的函数,比如你想要做的幂函数是f(X)=a*n^(kx+l)+b先找一个区域,比如A1-A5,来表示存储以上公式中的非变量a、n、b、k、l然后形成函数的数据区域,比如B列和C列B列作为X值
【1】第一步>>cftool【2】出现对话框,点击data选x和y【3】creatdataset,然后close【4】点击fitting,在typeoftype,选Fourier选择一个合适的即可.例
x=[198219922002];y=[103.534.523.3];cftool(x,y)在弹出的对话框选择fitting,弹出新的对话框选择newfit,然后在第三个下拉菜单(Typeoffit)
data=[83.0136792575.3419811358.57576.8417452880.192581.9507075571.6979.5868.7556176.09268574.02575.3
clf;clear,clcp=rand(30,3);x=p(:,1);y=p(:,2);z=p(:,3);%30组坐标[xi,yi]=meshgrid(linspace(min(x),max(x),1
你给的数据有误 ,不是正太分布,帮你修改下数据x=5 6 7 8 9  
首先将y和x1,x2,x3都变为列向量,就是80x1的矩阵如果原来是行向量1x80的矩阵用y=y.'或x1=x1.‘转置一下就可以了将x1x2x3合拼为80x3的矩阵x=[x1x2x3];然后创建函数
MATLAB有好多方法来拟合函数,比如对数拟合、指数拟合、多项式拟合.建议你看一下讲解MATLAB函数拟合的书籍.就你给的数据看,多项式拟合(Polyfit)比较适合且比较简单.
functionparameter=customfit(f,x,y,startpoint)%用最小二乘法求曲线拟合的程序.%f是待求函数,x和y是取样点坐标,parameter是待求系数,startp
1、你可以用nlinfit()函数拟合,精度比较高.2、用matlab的拟合工具箱cftool也是非常方便,而且不用编程.你只要将y=d*(b-exp(-x/c))*exp(-2*a*log(b*ex
在Matlab下输入:edit,然后将下面两行百分号之间的内容,复制进去,保存%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%functiong=zh
cftool
把数据列出来,用nlinfit.
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
程序改成如下: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-
functionzd487022570x1=[0.25,0.278,0.3125,0.357,0.4167,0.3,0.3333,0.375,0.7286,0.5];x2=[0,0.1111,0.12