建站怎么建,英文网站案例,公司网站备案信息查询,wordpress图像存储MATLAB之数据处理公式拟合前言#xff1a;由试验得到一组数据#xff0c;对该组数据进行处理#xff0c;作图分析#xff0c;分析各变量的关系#xff0c;期望得到拟合公式。试验数据背景本次试验有三个自变量#xff1a;V、M、G#xff0c;因变量为F,每组试验重复5次公式拟合前言由试验得到一组数据对该组数据进行处理作图分析分析各变量的关系期望得到拟合公式。试验数据背景本次试验有三个自变量V、M、G因变量为F,每组试验重复5次试验目的是探寻F与三个自变量之间的关系先定性后定量。数据采集格式如下采集值与时间曲线如下数据处理(1)判断有用数据并取出存储有用的数据是指在采集值与时间曲线图中因变量平稳时的取值。可截取平稳区间的数据对其求平均值并求方差判断其稳定性。(2)单个试验数据处理在单个试验中关键问题是如何判断平稳区间。在经过对时间曲线图的认真分析后确定如下的处理方法step1先将txt文件导入数组并从数组中提取第三列数据(前两列为时间)计算数组的大小step2判断平稳区间的尾值final将数组的最后一个数据与倒数第二个比较看其距离是否足够大如果足够大则final即为该值若不够大继续用倒数第二个数据与倒数第三个数据进行比较依次迭代直到找出两个相邻数据距离足够大的位置则能够找出final的位置。step3判断平稳区间的初始位置在step2中已经确定尾值final经观察发现尾值对应的因变量与所求的平均值相差不大依次依次比较final与(fina-1)对应的因变量的距离判断是否足够大如其足够大则可确定初始位置start。为加快收敛速度将步长改为5。且又观察可知每组数据至少有40个故从(final-40)处开始比较。step4确定平稳区间的位置后从原始数据中提取出有用数据计算平均值均方差。function [m,s] true_data( data )%计算平均值均方差data singal(:,3); %提取对应的数据len length(data) ; %获取数组长度n len;while ((n 0) (abs(data(n-1 ) - data(n )) 0.3))n n-1;endfinal n-3 ; %确定末尾位置s final - 40;while((n 0)(abs(data( s ) - data(final)) 0.05))s s - 5;endstart s 10; %确定初始位置value data (start : final); %提取可用数据m mean(value); %计算平均值均方差s std(value);end(3)处理整个文件夹每个文件夹中的数据单一变量为grade(volume、magnetic相同)并且每组试验重复三次。命名规则为第一个数字表示grade第二个数字表示试验组数即11.txt,12.txt,13.txt,14.txt,15.txt,21t.txt,22.txt、、、55.txt。利用循环语句依次处理每个txt文件将所有处理结果依序存入一个数组中。注意如何按照文件名依次读取文件内容 strcat函数配合load函数。可利用eval函数。V 5%_ ; M 0; G 5; group 5;dataPro cell(G,group);for yali 1 : Gfor zushu 1 : groupfilename strcat(num2str(yali),num2str(zushu),.txt); %考虑eval函数temp load(filename);[mean,sd] singal_process(temp);dataPro{yali,zushu} [mean,sd]; % 存储数据endend(4)处理结果存储将处理过后的数据(存放在dataPro中)存入execl表格并将表格根据本组试验数据的特定信息命名存入当前文件夹: 使用xlswrite函数。filename strcat(V,num2str(M),H);numPro cell2mat(dataPro);xlswrite(filename,numPro);(5)误差分析用误差棒注明所测量数据的不确定度的大小(仅参考平均值与均方差)。AveragenumPro(:,1); %平均值VariancenumPro(:,2); %方差值Time1:1:5;errorbar(Time,Average,Variance,k) %函数调用格式 errorbar(A,B,X)xlabel(次数);ylabel(力/N);数据处理结果作图分析主要分析M对F的影响将相同VG不同M的三组组数据将其从开始变化阶段到稳定阶段的图像进行对比分析。step1:根据数据处理中的方法从txt文件中提取有效数据。数据处理的不同之处在于起始点是从数据非零位置判断更加简单。function value true_data( data )%由输入的原始数据(data)输出整理之后的有效数据(value)data -data(:,3); %获取第三列数据,并将数据取正len length(data) ; %获取数组长度n len;while ((n 0) (abs(data(n-1 ) - data(n )) 0.3))n n-1;endfinal n;if final 5final final -5 ; %确定尾点ends 1;while((abs(data( s ) ) 0.03))s s 1;endstart s-5; %确定初始位置value data(start:final);endstep2:单条曲线选择画图程序包括不同曲线的设置。function line_plot( value,i )switch icase 1 %第一条曲线 红色plot(value,-r,LineWidth,1.5);case 2 %第二条曲线 黑色plot(value,-k,LineWidth,1.5);case 3 %第三条曲线 蓝色plot(value,-b,LineWidth,1.5);otherwise ;endendstep3: 将文件名写入num数组中循环读取数据画图num [0 250 450]; %文件名for i 1 : 3filename strcat(num2str(num(i)),.txt);temp load(filename);value true_data( temp ) ; %提取数据line_plot( value,i ); %画图hold onendstep4图像后续处理,图像句柄的使用title(xxxxx);set(get(gca,title),fontangle,normal,fontweight,normal,fontsize,16);xlabel(Time/s);set(gca,xtick,[0:20:150]);set(get(gca,xlabel),fontangle,normal,fontweight,bold,fontsize,15);ylabel(xxx/N);set(get(gca,ylabel),fontangle,normal,fontweight,bold,fontsize,15);legend(no1,no2,no3,Location,southeast);set(legend,FontSize,14,FontWeight,normal,Box,off);作图结果公式拟合(拟合效果不好本问题未完成)依据试验处理所得的数据分析自变量V、M、G与因变量为F之间的关系。拟合问题可用以下思路处理matlab公式拟合函数reglmstepwisenlinfit,regress,robustfitSPSS软件神经网络拟合(matlab工具箱或者其他软件数据量要求较大)本次试验暂时只用regress函数做了简单的拟合效果不好后续有进展在进行补充。step1: 首先将各组数组整理到一个excel表格中n行4列每列依次为VMG最后一列为因变量Fstep2读取excel表格数据用regress函数拟合公式step3由拟合公式计算出期望数据与真实数据作图比较clear;clc;xydata xlsread(data1.xlsx);y xydata(:, 4);x1 xydata(:, 1);x2 xydata(:, 2);x3 xydata(:, 3);nlength(x1);X[ones(n,1) x1.^2 x1 x2.^2 x2 x3.^2 x3 ]; %不同的模型修改%regress函数各返回值意义% b为变量系数b(1)为常数项b(2)依次为模型前面的各项系数% bint回归系数的区间估计% r为残差越接近零越好就是误差abs(y - 估计值)% rint为置信区间%stats为检验回归模型的四个统计量判定系数R^2F统计量观测值%检验的p的值(p值很小(P0.001),说明拟合模型有效)误差方差的估计。[b,bint,r,rint,stats] regress(y,X);%regress回归误差分析做误差图像test为预测值testing4 b(1) b(2)*x1.^2 b(3)*x1 b(4)*x2.^2 ... b(5)*x2 b(6)*x3.^2 b(7)*x3;t 1 : 180;%图形解释黑线表示原始数据红线表示模型预测数据plot(t,y,k,t,testing4,r);拟合效果图