matlab取值只能为整数,运行时提示Size 输入必须为整数

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

  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值