MATLAB将数字字符转换成双精度数据(str2double)

2026-04-01 11:48:05

1、第一,首先给出文本文件(pressure.txt),其内容如下,包括字符串和数字:

Teperature   Pressure

 273.15   101412.95

 274.15   101784.22

 275.15   102155.50

 ...           ...

文本文件pressure.txt第一列数据表示温度,第二列数据表示气压。

MATLAB将数字字符转换成双精度数据(str2double)

2、第二,下面利用MATLAB读取文本文件pressure.txt,启动MATLAB,新建脚本(Ctrl+N),输入如下代码:

close all; clear all; clc

fileID1=fopen('pressure.txt');

A=textscan(fileID1,'%s %s');

fclose(fileID1);

T=A{1}

pres=A{2}

其中textscan(fileID1,'%s %s')中的'%s %s'表示按照字符型读取文本文件pressure.txt的两列数据。

MATLAB将数字字符转换成双精度数据(str2double)

3、第三,保存和运行上述脚本,在命令行窗口得到如下结果:

T = 

    'Teperature'

    '273.15'

    '274.15'

    '275.15'

    ...

pres = 

    'Pressure'

    '101412.95'

    '101784.22'

    '102155.50'

    ...

可以哄帽发现数据均带单引号'',这是由于第二步textscan(fileID1,'%s %s')是按字符型读取文本文件pressure.txt的原因。

MATLAB将数字字符转换成双精度数据(str2double)

4、第四,将数字字符转换成双精度数据(str2double),接着输入如下槐季代码:

T=str2double(T(2:32))

pres=str2double(pres(2:32))

MATLAB将数字字符转换成双精度数据(str2double)

5、第五,欧伟材保存和运行上述脚本,在命令行窗口得到如下结果:

T =

  273.1500

  274.1500

  275.1500

  ...

pres =

   1.0e+05 *

    1.0141

    1.0178

    1.0216

   ...

可以看到单引号''消失,数字字符已经转换成双精度数据。

MATLAB将数字字符转换成双精度数据(str2double)

6、第六,下面根据读取得到的数据绘制图像,接着输入如下代码:

plot(T,pres,'r-','LineWidth',5);hold on;

plot(T,pres,'LineStyle','none',...

    'Marker','o','MarkerFace','k','MarkerEdge','k')

set(gca,'FontSize',15,'TickDir','out','TickLength',[0.02,0.02])

xlabel('Temperature (K)'),ylabel('Pressure (Pa)')

MATLAB将数字字符转换成双精度数据(str2double)

7、第七,保存和运行上述脚本,得到如下图形,x轴表示温度,y轴表示气压。

MATLAB将数字字符转换成双精度数据(str2double)

猜你喜欢