matlab拟合时怎么用一列数据作为坐标轴
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/13 23:06:24
我尝试了一下,没有问题.输出数据和拟合一样.你是不是程序哪里出问题了.再问:那你能把具体函数发过来么?如果附带有参数的截图,就像我那样就更好了
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,
x1=[1.51.5222.52.52.52.53333];x2=[0.050.10.150.20.050.10.150.20.050.10.150.2];y=[10.990.980.970.980.
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
clcclearcloseallx=[0,100,200,300,400,500];y=[1,0.62,0.40,0.21,0.18,0.12];xx=x(2:end);yy=y(2:end);z=l
%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
画出点后,点analyze里的fitlinear就可以了,会自动出来一个报告单的,里面有R2值,还有截距(intercept)和斜率(slope)值,分别代入公式y=a+b*x就是你这个线性拟合的公式
程序是A=[0000004500084005000482610055001444340060003557600065091536940007002077241000007511143095691000
plot可以画多条曲线在一个图上主要把拟合的数据也算出来,一起画就好了
x=[1978:1:2010]';y=[56663274575576978998511101313142817821920215022922601314943385145580962416854765
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
你可以把步取去密一点,然后把拟合后的多项式用plot函数画出来不就行了吗?再问:拟合后得到的不是多项式的系数吗?只知道系数怎么画对应的函数图像?再答:知道系数后,可以用polyval计算啊!比如说:你
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
function[a,resnorm]=sphere_fit(a0,data)%对数据进行球拟合,a0是初始的球心和半径%data是x、y、z的数据矩阵,第一行是x,第二行是y,第三行是z%a是拟合后
figure文件可以打开编辑,最右侧showplottoolsandDockfigure
x=[110.10001.25002.25002002.5510.719.651.182.18177.52.3210.9110.051.242.24197.52.5210.8];y=[2.4;2.31