① matlab中怎么调用已经用excel导入的矩阵对两组数据进行最小二乘拟合
matlab中可以采用
polyfit
用于多项式曲线拟合(最小二乘法原理)
p=polyfit(x,y,m)
其中,
x,
y为已知数据点向量,
分别表示横,纵坐标,
m为拟合多项式的次数,
结果返回m次拟合多项式系数,
从高次到低次存放在向量p中.
更多可见matlab的帮助文档.
② 用MATLAB处理EXCEL中一列共100000个数据,请问如何将数据导入并将数据做正态曲线拟合
首先用
data=xlsread('文件名');
读入execel文件中的数据,得到的data应该就是一列100000个数的矩阵
[mu sigma]=normfit(data); %正态分布拟合,得到平均值mu和标准差sigma
%----------------------
[n x]=hist(data,100); %将原数据分100个区间统计
bar(x,n/100000/mean(diff(x)),1);hold on; %用条状图画出统计的概率
plot(x,normpdf(x,mu,sigma,'r');hold off;%用红线画出正态分布拟合曲线
legend('统计概率','拟合曲线');
得到的mu是平均值,sigma是标准差,方差就是标准差的平方
③ 怎么在matlab处理excel 表格 matlab的函数的拟合和求导
你试试 xlsread 命令 将excel 导入matlab,然后用matlab 对数据进行处理
④ 把附件中的数据导入到 matlab中进行拟合,求出它的9阶曲线。
1、文件在任何位置。如果是Excel文件,可用xlsread()函数实现,具体用法参考matlab-help
如果是txt文件,可用textscan()函数实现,参考matlab-help。
2 、将需要导入的数据文件放在当前运行的matlab跟目录下(current folder),直接用load()函数即可实现数据导入,这种方法可以导入excel、txt、mat等文件类型。
曲线的拟合也可以通过两种方法实现。
1 直接调用函数,polyfit()对数据进行拟合。
2 利用matlab的拟合工具箱实现。步骤如下
(1) 假设需要拟合的数据为x,y,利用plot(x,y)画出x,y的关系图。
(2) 在画出的图中找到tools(工具)-Basic-fitting(基本拟合)-polynomial(多项拟合),其中(9th degree polynomial)即为9阶拟合结果,点击右下角的->符号,就可看到多项式拟合结果参数。
⑤ 用matlab如何将excle中的数据拟合成多元非线性函数并做出图,能不能写成
由于你没有具体的数据结构,无法为你提供具体的代码。只能将“用matlab如何将excle中的数据拟合成多元非线性函数并做出图”的实现步骤说明如下:
首先,用xlsread()函数来读取excel 的数据。并赋值给A
A=xlsread('xxx.xls')
第二,由矩阵A,提取y,x1,x2,x3,。。。
y=A(:,1),x1=A(:,2),x2=A(:,3),。。。
第三,根据y,x1,x2,x3数据,初定拟合多元非线性函数的形式(此过程需要调整)
func=@(a,x) 多元非线性函数表达式
第四,用lsqcurvefit()或nlinfit()函数来拟合多元非线性函数的系数
a=lsqcurvefit(func,a0,x,y); 或 a=nlinfit(x,y,func,a0);
第五,用corrcoef()函数来判别拟合效果
y=A(:,1)
y1=func(a,x)
R2=corrcoef(y1,y); 当R2≈1,则拟合是比较合理的。
如你有具体的数据,可以复制到私信上,进一步交流。
⑥ 怎么用matlab或excel做某个线性曲线拟合
matlab中可用函数polyfit函数进行曲线拟合,用法polyfit(x,y,n)n为拟合的阶数!
⑦ 如何使用matlab拟合工具箱
1.打开CFTOOL工具箱。
在Matlab 6.5以上的环境下,在左下方有一个"Start"按钮,如同Windows的开始菜单,点开它,在目录"Toolboxes"下有一个"Curve Fitting",点开"Curve Fitting Tool",出现数据拟合工具界面,基本上所有的数据拟合和回归分析都可以在这里进行。也可以在命令窗口中直接输入”cftool”,打开工具箱。
2.输入两组向量x,y。
首先在Matlab的命令行输入两个向量,一个向量是你要的x坐标的各个数据,另外一个是你要的y坐标的各个数据。输入以后假定叫x向量与y向量,可以在workspace里面看见这两个向量,要确保这两个向量的元素数一致,如果不一致的话是不能在工具箱里面进行拟合的。 例如在命令行里输入下列数据: x = [196,186, 137, 136, 122, 122, 71, 71, 70, 33]; y = [0.012605; 0.013115; 0.016866; 0.014741; 0.022353; 0.019278; 0.041803; 0.038026; 0.038128; 0.088196];
3.数据的选取。
打开曲线拟合共工具界面,点击最左边的"Data..."按钮,出现一个Data对话框,在Data Sets页面里,在X Data选项中选取x向量,Y Data选项中选取y向量,如果两个向量的元素数相同,那么Create data set按钮就激活了,此时点击它,生成一个数据组,显示在下方Data Sets列表框中。关闭Data对话框。此时Curve Fitting Tool窗口中显示出这一数据组的散点分布图。
4.曲线拟合(幂函数power)。
点击Fitting...按钮,出现Fitting对话框,Fitting对话框分为两部分,上面为Fit Editor,下面为Table of Fits,有时候窗口界面比较小,Fit Editor部分会被收起来,只要把Table of Fits上方的横条往下拉就可以看见Fit Editor。在Fit Editor里面点击New Fit按钮,此时其下方的各个选框被激活,在Data Set选框中选中刚才建立的x-y数据组,然后在Type of fit选框中选取拟合或回归类型,各个类型的拟合或回归相应的分别是: Custom Equations 用户自定义函数 Expotential e指数函数 Fourier 傅立叶函数,含有三角函数 Gaussian 正态分布函数,高斯函数 Interpolant 插值函数,含有线性函数,移动平均等类型的拟合 Polynomial 多项式函数 Power 幂函数 Rational 有理函数(不太清楚,没有怎么用过) Smooth Spline (光滑插值或者光滑拟合,不太清楚) Sum of sin functions正弦函数类
在这个Type of fit选框中选择好合适的类型,并选好合适的函数形式。于是点击Apply按钮,就开始进行拟合或者回归了。此时在Curve Fitting Tool窗口上就会出现一个拟合的曲线。这就是所要的结果。 在上面的例子中,选择sum of sin functions中的第一个函数形式,点击Apply按钮,就可以看见拟合得到的正弦曲线。
⑧ 如何将MATLAB工具箱加载到2007版的excel中
方法/步骤:
1、在2007版本excel中在工具栏右键点击“自定义快速访问工具栏”,
2、选择命令下拉窗口“所有命令”,在下面找到“加载宏”命令,确定后在左上方会出现绿色球状图标既是“加载宏”命令,
3、点击则出现一个窗口,点击“浏览”找到MATLAB安装文件下toolbox文件,找到exlink子目录中的excllink.xla文件,然后点击确定即可。
⑨ matlab 如何用一列Excel数据做对数正态分布拟合曲线
closeall;
clearall;
data=xlsread('数据.xls','sheet1');%读入数据
[yx]=hist(data,100);%统计频次分布
figure('Color','w');h=bar(x,y,1);%画直方图
set(h,'EdgeColor',[0.50.50.5],'FaceColor',[0.50.50.5]);
holdon;
%对数正态分布密度函数
)p(1)./x.*exp(-((log(x)-p(2))/p(3)).^2/2);
[maxyind]=max(y);
%做非线性数据拟合
p=nlinfit(x,y,fun,[maxy*x(ind),log(x(ind)),1]);
%画拟合曲线
x1=min(x):0.01:max(x);
yfit=fun(p,x1);
plot(x1,yfit,'k','linewidth',3);
[ymaxi]=max(yfit);%找到极值点
xm=x1(i);
plot([xmxm],[0ymax+10],'k','linewidth',3);%画竖线
xlim([min(x)max(x)]);
xlabel('BC浓度(ng/m^3)');
ylabel('频数');