本帖最后由 lishahehsizan 于 2015-9-14 15:15 编辑
下面是代码:
function out=execute(data,n)
%最大值,最小值,面积,拟合公式,弹性模量%
data1=data(:,1)-mean(data(1:20,1));
data2=data(:,2)-mean(data(1:20,2));
data0=[data1*40,data2/1.5];
a=divide(data0,n);
amax_x=[];
amax_y=[];
amin_x=[];
amin_y=[];
for i=1:n+1
amax_x=[amax_x,max(a{2*i-1}(:,1))];
amax_y=[amax_y,max(a{2*i-1}(:,2))];
amin_x=[amin_x,min(a{2*i-1}(:,1))];
amin_y=[amin_y,min(a{2*i-1}(:,2))];
end
b_y=[];
b=integral(a,n+2);
for i=1:n+1
b_y=[b_y,b{i}];
end
%b_y=b_y';
c_y=[];
for i=1:n+1
c_y=[c_y;fitt(a{2*i-1})];
end
c_y=c_y';
c_y2=[];
for i=1:n+1
c_y2=[c_y2;fitt(a{2*i})];
end
c_y2=c_y2';
d_y=[0 0 0];
for i=2:n+1
d_y=[d_y;fittt(a{2*i-1})];
end
d_y=d_y';
d_y2=[0 0 0];
for i=2:n+1
d_y2=[d_y2;fitttt(a{2*i})];
end
d_y2=d_y2';
e_y=fit_e(a,n+2);
e_y2=fit_e2(a,n+2);
out=[amax_x;amax_y;amin_x;amin_y;b_y;d_y;d_y2;c_y;c_y2;d_y2;e_y;e_y2];
% out=[amax_x;amax_y;amin_x;amin_y;b_y;c_y;e_y;c_y2;e_y2];
out=out';
end
错误如下:
警告: 多项式不是唯一的;阶数 >= 数据点的数目。
> In polyfit at 70
In fit_initial at 11
In fit_e at 12
In execute at 56
警告: 多项式不是唯一的;阶数 >= 数据点的数目。
> In polyfit at 70
In fit_initial at 11
In fit_e at 12
In execute at 56
警告: 多项式不是唯一的;阶数 >= 数据点的数目。
> In polyfit at 70
In fit_initial at 11
In fit_e at 12
In execute at 56
警告: 多项式不是唯一的;阶数 >= 数据点的数目。
> In polyfit at 70
In fit_initial at 11
In fit_e at 12
In execute at 56
下标索引必须为正整数类型或逻辑类型。
出错 fit_initial (line 4)
xx=data(a:b,1);
出错 fit_e2 (line 10)
out=[out,fit_initial(data{2*i},fix(0.2*size(data{2*i})),fix(0.8*size(data{2*i})))];
出错 execute (line 57)
e_y2=fit_e2(a,n+2);
希望大神们帮我看看 初学 请大神不吝赐教