找出数据中哪一行含有小于-50的值,并把该行的前三行进行平均,平均后的值在进行差值计算
#matlab
这种就写循环吧
a=你的数据名
然后
[m,~]=size(a); %先检测你的数据有多少行
%然后循环依次检测
%先写一个计数的j值
j=0
%开始对一共有m行的数据a的每行进行检测
for i=1:m
line=a(i,:); %把这一行提出来
ak=~isempty(find(line<-50));%分析有没有小于-50的值,构造指示变量ak
%即如果line里有小于-50的,那么find(line<-50)就有值,ak就是1。没有小于-50的,那么find(line<-50)就有值,那么ak就是0
%写if函数,对行进行不同处理
if ak==1 %如果这行有小于-50的,ak=1了
j=j+1 %则j增加1计数
hangno(j)=i; %hangno储存有<-50值的行号,在第j行里储存这一轮的行号i
hang(j,:)=line; %hang储存这一行的内容,在第j行里储存这一轮分析的行line——这里更改了一下
else %如果没有小于-50的
continue %就什么也不做跳过这一行
end
end
%写完这个循环后,找出数据中哪一行含有小于-50的值可以看hangno这个变量
%“并把该行的前三行进行平均,平均后的值在进行差值计算”这个没看懂,不过符合要求的行已经储存在hang这个变量里了,你可以看看怎么进一步处理
问题不明确,大概思路
找出小于-50的元素所在的行:
[row, ~] = find(data < -50);
平均
avg = mean(data(row(1:3), :), 1);
差值计算
diff = diff(avg);
画好图,点击左上角第二个“编辑”,“坐标轴属性”
直接全选可以选到所有的边框,可以同时修改更好看的颜色,我比较喜欢浅灰色的边框比黑色好看
选中一条线后按住shift可以同时多选很多其他线条或者边框,同时修改颜色,不需要一个一个的来
可以选择图形类型
区域图
线形图
阶梯图
线宽
任何在程序中不好设置的比如颜色(代码可控颜色较少),图的类型(区域图)··都可以编辑
坐标轴是否加框等
matlab画出的图形的所有的东西都是可以直接编辑的
可以画好一个初稿,然后在这边手动编辑设计配色,改变标记的形状颜色,很省时间很方便
任何文本都可以双击改写,文字的解释器是tex,公式则是latex
可以在图上面右击, 显示图例,然后自己改为格式的描述
还可以自己手动设置刻度,显示小刻度挺好看的
反向挺好玩的,包都变成了坑,不过用的不多,只有适合的时候才用
colorbar设置
选中colorbar,点击右下角的更多属性(左边那个只能调整色条的位置),可以设置刻度,去掉边框等等
去掉SelectionHighlight 和Box勾选可以去除处理右边刻度以外的边框
可以反向colorbar哦,和自己的颜色变化对应起来