创立一个M文件然后根据plot函数输入编码
x=[549 679 780 899 1086];
y1=[24 40 55 69 97 ];
y2=[21 34 47 59 85];
y3=[11 18 26 32 44];
y4=[07 11 15 20 27];
plot(x,y1,'-o',x,y2,'-o',x,y3,'-o',x,y4,'-o')
就可以做出图像
可以根据图像明白如果要拟合成多项式则它的阶次为1
根据polyfit(x,y1,1)函数来拟合就可以
比如 拟合x 与 y1则编码为p1=polyfit(x,y1,1)
1、用plot(x,y)函数,画出函数曲线图
2、用已知的函数图形,去判定该函数曲线的拟合函数方程
3、有了拟合函数方程,用nlinfit()和lsqcurvefit(),即最小二乘法,求出拟合函数方程的系数
4、如相关系数R²≈1,这什么拟合函数方程是正确的
方程两边对数化,得到:ln(y)=ln(a)+bln(x),拟合这个线性方程就可以了,使用matlab中的regress()函数,编制如下代码:
x=[5 2 09 06 0355 015 01 0074]';
y=[00318 00331 00148 00165 0031 00284 00082 00562]';
lnx=log(x);
lny=log(y);
X=[ones(length(x),1),lnx];
format long
[b,bint,r,rint,s]=regress(lny,X,005);
b,bint,s,
subplot(2,2,1)
rcoplot(r,rint)
title('残差图')
subplot(2,2,2)
plot(x,y,'+')
title('原始的x-y散点图')
subplot(2,2,3)
plot(lnx,lny,'+')
title('对数化后lnx-lny散点图')
x1=[log(min(x)):01:log(max(x))];
y1=polyval(b,x1);
subplot(2,2,4)
plot(lnx,lny,'+',x1,y1)
title('拟合效果图')
format short
得到结果如下:
b =
-370894416234909
003576915928443
bint =
-434859095115185 -306929737354633
-036781660748507 043935492605393
s =
Columns 1 through 3
000777750411725 004703080699857 083549882584920
Column 4
041795448690887
注意,统计量中相关性不是很大,你应该考虑换一个模型试试。
a=polyfit(x,y,m)
a->输出拟合多项式系数
a=[a1, …,am , am+1] (数组))
x,y->输入同长度
的数组x,y
m->拟合多项
式次数
我只知道线性拟合,希望对您有帮助。比如
>> P=polyfit(x,y,n) %其中x,y为数据向量,n为拟合次数(通常都取5或6)
若! ^^
运行你的程序产生随机数,然后输入weibplot(y),可以看是否符合weibull分布,输入wblfit(y),得出两个数,第一个是尺度参数,第二个是形状参数
还有weibull分布随机数可以直接用wblrnd(A,B,C,D)指令吧,A形状参数,B尺度参数,C行数,D列数
直接使用CFTOOL工具箱
命令行输入cftool即可,然后选择拟合类型
x=[669:002:753];
y=[42,37,33,295,263,233,211,187,165,147,132,117,104,0925,082,0735,0653,0582,052,0462,0412,0366,0325,0289,0258,023,0205,0182,0162,0145,0129,0115,0102,0091,0081,0072,0064,0057,0051,00455,00403,0036,0032];
直接输入cftool进入曲线拟合工具箱界面“Curve Fitting tool”
(1)点击“Data”按钮,d出“Data”窗口;
(2)利用X data和Y data的下拉菜单读入数据x,y,然后点击“Create data set”按钮,退出“Data”窗口,返回工具箱界面,这时会自动画出数据集的曲线图;
(3)点击“Fitting”按钮,d出“Fitting”窗口;
(4)点击“New fit”按钮,可修改拟合项目名称“Fit name”,通过“Data set”下拉菜单选择数据集,然后通过下拉菜单“Type of fit”选择拟合曲线的类型,选择类型Power:幂逼近,有2种类型,ax^b 、ax^b + c
以matlab在polyfit拟合help里面的例子为基础编程:拟合后函数在y=f(1)处的切线。
x = (0: 01: 5)'。
y = erf(x)。
p = polyfit(x,y,6)。
f = polyval(p,x)。
软件开发:在开发环境中,使用户更方便地控制多个文件和图形窗口;在编程方面支持了函数嵌套,有条件中断等;在图形化方面,有了更强大的图形标注和处理功能,包括对性对起连接注释等;在输入输出方面,可以直接向Excel和HDF5进行连接。
扩展资料:
常用工具箱:
MATLAB包括拥有数百个内部函数的主包和三十几种工具包。工具包又可以分为功能性工具包和学科工具包。功能工具包用来扩充MATLAB的符号计算,可视化建模仿真,文字处理及实时控制等功能。学科工具包是专业性比较强的工具包,控制工具包,信号处理工具包,通信工具包等都属于此类。
开放性使MATLAB广受用户欢迎。除内部函数外,所有MATLAB主包文件和各种工具包都是可读可修改的文件,用户通过对源程序的修改或加入自己编写程序构造新的专用工具包。
-MATLAB
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)