Matlab学习日记-1

    初学者小白阶段,matlab的知识是需要积累的,而要用到的才是最容易记住的。前几天要求50个文本每个像素的标准差值,于是在高手指导下编写了一段matlab代码。

注释已给:

clear
clc
path=strcat(uigetdir(),'\');   %用界面点选方式选取路径,后面加'\'。
file=dir(strcat(path,'*.ini'));   %列出路径下的所有ini后缀的文本。
filename={file.name};   %读取file变量中文本的name属性。
[~,filenum]=size(filename);   %用filenum变量表示filename变量中的文本数量。
height=291;
weight=500;   %我们的文本是291*500的二维数组。
dat=zeros(height,weight,filenum);   %建立一个三维零数组。
mean=zeros(height,weight);   %建立一个二维零数组。
for i=1:filenum
filenames=filename{i};   %对文本1-50编号
filenameabs=strcat(path,filenames);   %重新定路径
dat(:,:,i)=load(filenameabs);   %下载数据到三维数组中
mean=mean+dat(:,:,i);   %将各个坐标的值相加
end
mean=mean/filenum;   %求出平均值
z=zeros(height,weight);   %建立一个新的二维零数组
for i=1:filenum
z=z+(dat(:,:,i)-mean).^2;   %各个坐标数值与平均值的差的平方和
end
SD=(z/filenum).^.5;   %求出标准差
savetxt=strcat(path,'SD.txt');    %设定一个保存SD数据的路径。
save(savetxt,'SD','-ascii');   %保存SD的数据到文件名为SD文本中,以反ascii码的方式储存。
    还有一些零零碎碎的知识,希望自己能记下来。
    s=sum(sum(x));表示一个数组所有元素的总和,而s=sum(sum(x(195-25:195+25,250:25:250:25)));表示x数组中50*50范围内的总和。
    [x,y]=find(variable==min(min(variable)));是找出变量的最小值。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值