matlab画散点图并拟合函数曲线

matlab画散点图并拟合函数曲线,第1张

创立一个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

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/12184637.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存