在 MATLAB 中反向读取文件中的单词


假设一个文本文件包含一个句子“I Study MATLAB from Tutorials Point.”。现在,我们想要以相反的顺序读取文本文件中的这些单词,结果将是“Point Tutorials from MATLAB Study I.”。在本文中,我们将探讨实现 MATLAB 程序以反向读取文本文件中的单词。

算法:反向读取文件中的单词

在 MATLAB 中,我们必须按照以下步骤反向读取文件中的单词

步骤 1 - 通过调用函数“fopen()”打开文件以进行读取。此函数采用两个参数,即文件路径和访问模式。对于“读取模式”,“r”用作访问模式。此函数返回一个文件标识符“FileID”,用于引用已打开的文件。

步骤 2 - 检查给定文件是否已成功打开。为此,将“fileID”的值与“-1”进行比较。如果“FileID”等于“-1”,则将显示一个错误,指出无法打开文件。

步骤 3 - 使用函数“fscan()”读取文件的内容。此函数采用两个参数,即文件标识符 (“FileID”) 和格式说明符 (“%c”)。这里,格式说明符“%c”用于从文件中读取字符。然后,打开的文件内容存储在变量“content”中。

步骤 4 - 使用函数“fclose()”关闭文件以释放系统资源。此函数采用文件标识符,即“FileID”作为参数。

步骤 5 - 使用函数“strsplit()”将文件内容拆分为单词。

步骤 6 - 使用函数“flip()”反转单词的顺序。

步骤 7 - 使用函数“disp()”显示反转后的单词。

现在让我们考虑一个 MATLAB 程序示例,以了解如何反向读取文件中的单词。

示例

% MATLAB program to demonstrate read words in a file in reverse order
% Create a text file
str = 'I Study from Tutorials Point';
FileID = fopen('tutorials_point.txt','w');
fprintf(FileID,'%s',str);
fclose(FileID);
% Open the file for reading its content
FileID = fopen('tutorials_point.txt', 'r');
% Check for successful file opening
if FileID == -1
   error('Failed to open the file.');
end
% Read the file content
content = fscanf(FileID, '%c');
% Close the file to free up resources
fclose(FileID);
% Split the file content into words
words = strsplit(content);
% Reverse the order of words
reversed_words = flip(words);
% Display the reversed words
disp('Words in the Reverse Order:')
disp(reversed_words)

输出

Words in the Reverse Order:
{
  [1,1] = Point
  [1,2] = Tutorials
  [1,3] = from
  [1,4] = Study
  [1,5] = I
}

解释

在上面的 MATLAB 程序中,我们首先使用访问模式“w”调用函数“fopen”来创建一个文本文件。然后,我们使用“r”调用函数“fopen”以打开文件以读取其内容。之后,我们检查文件是否已成功打开。如果文件未打开,则会显示错误。

我们使用“%c”作为格式说明符调用函数“fscanf”以读取其内容。然后,我们调用函数“fclose”关闭文件以释放系统资源。现在,我们调用函数“strsplit”将内容拆分为单词,并将这些单词存储在变量“words”中。之后,我们调用函数“flip”反转单词的顺序。最后,我们调用函数“disp”显示反转后的单词。

结论

要执行此操作,MATLAB 有一个函数“flip()”,它反转输入给它的单词的顺序。上面 MATLAB 中的示例程序演示了文件中单词顺序的反转。

更新于: 2023-07-18

98 次查看

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告

© . All rights reserved.