matlab矩阵程序,MATLAB矩阵和程序综合应用

本帖最后由 papapap 于 2020-9-4 17:30 编辑

t=ceshi(:,1);v=ceshi(:,2);TPR=[];TPF=[];Vt1=[];VIjW1=[];

for i=2:length(v)

if v(i)>2 & v(i-1)<=2                  %峰

i;                       %峰与阈值线交点起始位置

for j=i:length(v)

if v(j)>0 & v(j+1)<=0

j;                         %峰与零值线交点终止位置

break

end

end

ij=[t(i:j) v(i:j)];                %峰值区间

Vij=ij(:,2);

Vp=max(Vij);                %峰值

Vpu=Vp.*0.9;

Vpl=Vp.*0.1;

Vpw=find(Vij==Vp);

tij=ij(:,1);

Vpwt=tij(Vpw);

VPW=find(t==Vpwt);

Vball=find(v(1:VPW)<=Vpl);

Vbw=Vball(end,1);

tb1=t(Vbw);

Veall=find(v(1:VPW)>=Vpu);

Vew=Veall(end,1);

te1=t(Vew);

tpr=abs(te1-tb1);

TPR=[TPR tpr];

if tpr<=0.41

ij;

VIj=ij(:,2);

TIj=ij(:,1);

VIjW=max(VIj);

VtW=find(VIj==VIjW);

Vt=TIj(VtW);

Vt1=[Vt1 Vt];

VIjW1=[VIjW1 VIjW];

end

end

end

a=[Vt1;

VIjW1];

a_temp1=[0 find(diff(a(1,:))>1.11) size(a,2)];

a_temp2=mat2cell(a,size(a,1),diff(a_temp1));

index_1=cellfun(@(x)find(x(2,:)==max(x(2,:))),a_temp2,'UniformOutput',false);

index=cellfun(@(x)length(x)==1&x(1)==1,index_1);

a_temp2(index)

ans =

[2x2 double]

其中包含的矩阵是[4.1  5.2;   (此测试数据只得到一个矩阵,实际数据可能包含很多矩阵,

5      4]          所以大神的算法得按照这种不确定的矩阵个数来算)

每列数据[4.1;是通过ij= [4.0000    4.0000;

5]                 4.1000    5.0000;

4.2000    3.0000;

4.3000    1.0000]计算第二列的最大值得到的

[5.2;是通过ij= [ 5.0000    3.0000;

4]                  5.1000    3.0000;

5.2000    4.0000;

5.3000    3.0000;

5.4000    2.0000]计算第二列的最大值得到的

且这后面这两个较大的矩阵是通过原始矩阵一系列算法得到的

怎么在原始数据中(附件上传了),通过画图等方式将这两个矩阵ij在原始数据中标红(突出)显示

恳请各路神仙,能够将我的程序补齐O^O

16ae97300fb26d5150aca66cd3888cb6.gif

2020-9-4 15:52 上传

点击文件名下载附件

447 Bytes, 下载次数: 0

测试数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值