运行时提示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 上传

442a53943febe9465fc072b4fbe10813.gif

b2a5a3e0dcc7d508e00275fe42fce1b5.gif

运行时提示Size 输入必须为整数

ebce94d4a2cf80a21a3ac9f3930f5108.png

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐