运行时提示Size 输入必须为整数,求大神告知是什么问题,我用的是MATLAB2016a
下面是代码
clc; clear;
global aj n Ts g0;
global Xmax Xmin KS T fmax fav;
% fnam是文件名
open('1.fig');
% 取出曲线的handle,这里gca表示当前图形的
% CurrentAxes%属性
% 如果图中有多条曲线,lh为一个数组
lh = findall(gca, 'type', 'line');
% 取出x轴数据
xc = get(lh, 'xdata');
yc = get(lh, 'ydata');
x=zeros(1,size(xc,2)/1000);
y=zeros(1,size(yc,2)/1000);
% x(1)=xc(1);
% y(1)=xc(1);
for i=1:size(yc,2)/1000
x(i)=xc((i)*1000);
y(i)=yc((i)*1000);
end
tem=y';
[c,l]=wavedec(tem,5,'sym4'); %对原始信号进行3层小波分解
[thrl,nkeep]=wdcbm(c,l,4); %得到每个层次的分层阈值
[xdl,cxd,lxd,perfD,perfl2]=wdencmp('lvd',tem,'sym4',5,thrl,'s');% 根据分层阈值使用软阈值方法对信号进行降噪处理
fit_gen=zeros(2000,1);
f=1000;%%%%%%%%%%%原始频率 1s1000个点
t=0:1/f:(size(xc,2)-1)*1/f;%%%%原始时间序列
T=zeros(1,size(yc,2)/1000);
% T(1)=t(1);
for i=1:size(yc,2)/1000
T(i)=t((i)*1000);
end
KS=size(T,2);
% P=xdl;
P=smooth(xdl,200);
Ts=0*60;%%%%%%%%%阶跃时间
n=3;%C元素的个数
aj=zeros(n,1);
Xmax=zeros(n,1);
Xmin=zeros(n,1);
g0=P(1);%%%%%%%%%%%%初始值
%Xmax对应hmax
gou=1/1e+23;
kzg=0
close('StreamingAI')
close(figure(1))
%%调试
if kzg==0
%%%%%调用函数求残差病情记录参数
aj=[0.15212;543.0118;1;];
J=CC(P);
Jp=J;
end
2019-4-19 16:39 上传
运行时提示Size 输入必须为整数