MATLAB用最小二乘法求曲线方程
来源:学生作业帮助网 编辑:作业帮 时间:2024/05/17 02:41:57
xi=[0.019,0.023,0.027];%xdatayi=[430,380,256];%ydataabc0=[4,0.5,5];%initialvalues%%初始值设定abc=lsqcurve
x1=[350350350350350350350350350500500500500500500500500500650650650650650650650650650];x2=[2223.53.5
t=[11.41.622.42.633.644.656];y=[0.264241,0.408167,0.475069,0.593994,0.691559,0.732615,...0.800852,0.
y-1=exp(x/a)^2两边取对数,化成线性拟和然后polyfit
x=[-2.573\x09-2.159\x09-1.741\x09-1.403\x09-1.029\x09-0.699];y=[0.640\x090.844\x091.081\x091.227\x09
如上所述,采用polyfit来拟合,二次多项式polyfit(x,y,2)x=[0.110.130.190.210.270.370.530.590.710.790.891.07];y=[3868-10
clc%原数据节点x=[0.511.522.53];y=[1.752.453.814.888.6];plot(x,y,'*');holdon;%求最小二乘意义下拟合多项式的系数n=3;%待拟合多项式的
对于线性函数,除了polyfit(),还可以用regress()等对于非线性函数,可以用lsqcurvefit()或nlinfit()等根据你提供的数据,可以拟合成如下关系Q=0.52429N^1.6
A'A要满秩才求逆解方程啊,所以不一定A'AX=A'b恒有解的.不过考虑到一般实际用到最小二乘很多事实验数据拟合,所以基本上A'A都是满秩的
如果u,v,是未知,那么根本就用不了最小二乘法,如果u,v,是已知的话可以用,r1-r9数据经过矩阵变换后可以直接用线性回归就参数再问:感谢你的回答,是我弄错了,u,v已知,不过这两个方程式二元三次的
用曲线拟合工具箱做,很简单的,不过x,y的值要到你的工作空间里去,如图,这里的a,b相当于你的c,n
x=[27560000,55120000,82680000,88192000,110240000,137800000]y=[1743170000,1894750000,2053220000,20670
y=[00.060.110.170.230.280.340.400.460.520.590.650.720.800.870.961.051.161.311.55]';x=[20.0218.9517.7
先建立一个函数functionY=efun(b,x)Y=b(1)*exp(b(2)*x)+b(3)*exp(b(4)*x);保存为efun.m;再输入:x=[0.16670.41670.75001.0
http://hi.baidu.com/nature_and_man/item/15bac2a61bd7229e151073a8matlab最小二乘法
曲线不平滑主要还是你的数据少
x=0:0.1:0.9;y=[2.02.523.083.684.325.05.726.487.288.12];c0=[000];c=nlinfit(x,y,@myfun,c0)运行结果c=8.8192
使用多项式拟合函数polyfit(x,y,n),其中x是你要你和的自变量,y是你要拟合的因变量,n是你要用到的拟合多项式的最高次数,函数返回这个多项式.具体你的问题:x=[1,2,3,4,5,6,7,
你可以查查POLYFIT函数,可以做到拟合曲线
楼主可试一下拟合工具箱sftool,help下就有用法~再问:我做出来了用的是【bbint】=regress();谢谢了