MATLAB两种方法读取文件中的一列

我上一篇讲了如何导入csv文件等,直奔主题。
1.以insurance.csv文件为列。我这个文件共有7个变量每一个变量有1338个值。
在这里插入图片描述

2.我想要读取age一列并求出它的均值,标准差,最小值,最大值以及中位数并画出它的直方图。
(1)代码读取

%读取文件全部内容
A=importdata('insurance.csv')
b=A.textdata
b(:,1)%我们会发现读取出来的数据都是字符串型,我们先把age一列提取出来

%将字符串转换成整形
b1= b(:,1)%(1)先将b(:,1)赋值给d
b2=[b1]%(2)然后把d变成矩阵
b2=str2double(b1)%(3)将字符串变成double
class(b2)%c查看数据类型
%接下来我们就可以计算age的均值,标准差,最小值,最大值以及中位数并画出它的直方图。
b2(any(isnan(b2)'),:)=[]%将第一行的NaN去掉,否则会引起误差。百度很久才知道NaN是啥,简单说就是违背数学计算规律,有了NaN会导致标准差等产生误差,所以必须去除。
max=max(max(b2))%最大值
min=min(min(b2))%最小值
mean(b2,'omitnan')%均值
bzc=std(b2)%标准差
median=median(b2)%中位数
hist(b2)%age直方图


3.若是不用代码读取呢(方法比用代码读取简单)
(1)读取age一列的向量
在这里插入图片描述

max=max(max(b2))%最大值
min=min(min(b2))%最小值
mean(b2,'omitnan')%均值
bzc=std(b2)%标准差
median=median(b2)%中位数
hist(b2)%age直方图

这么一看是不是特别简单呢!
我会把insurance.csv单独文件上传的。

  • 9
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
要将图像扫描为序列并还原图像,可以使用两种方法MATLAB实现。以下是这两种方法的描述: 方法一:按行扫描和还原 1. 扫描图像:将图像分解为行,并按顺序将每一行的像素值添加到序列,可以使用与上述方法一相同的代码。 2. 还原图像:根据扫描得到的序列重新构建图像。可以使用MATLAB的矩阵操作来实现这个过程。下面是一个示例代码: ```matlab % 读取图像 image = imread('image.jpg'); % 获取图像的尺寸 [height, width, ~] = size(image); % 初始化序列 sequence = zeros(1, height*width); % 按行扫描并添加像素值到序列 index = 1; for row = 1:height for col = 1:width sequence(index) = image(row, col); index = index + 1; end end % 还原图像 restored_image = reshape(sequence, [height, width]); % 显示还原后的图像 imshow(restored_image); ``` 方法二:按列扫描和还原 1. 扫描图像:将图像分解为列,并按顺序将每一列的像素值添加到序列,可以使用与上述方法二相同的代码。 2. 还原图像:根据扫描得到的序列重新构建图像。同样可以使用MATLAB的矩阵操作来实现这个过程。以下是一个示例代码: ```matlab % 读取图像 image = imread('image.jpg'); % 获取图像的尺寸 [height, width, ~] = size(image); % 初始化序列 sequence = zeros(1, height*width); % 按列扫描并添加像素值到序列 index = 1; for col = 1:width for row = 1:height sequence(index) = image(row, col); index = index + 1; end end % 还原图像 restored_image = reshape(sequence, [height, width]); % 显示还原后的图像 imshow(restored_image); ``` 这两种方法都可以将图像扫描为序列并还原图像,只是扫描和还原的顺序不同。你可以根据具体需求选择其一种方法来实现。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我要变胖哇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值