matlab - 从txt文件中取出符号变量并在Matlab中制作矩阵
问题描述
我有一个包含以下字符的 txt 文件。theta1 , l1 和其他是符号变量。(不要介意)
M=[theta1 + (l1^2*m1)/4 + l1^2*m2 (l1*l2*m2*cos(fi1 - fi2))/2 ;
(l1*l2*m2*cos(fi1 - fi2))/2 theta2 + (l2^2*m2)/4 ]
我需要把它拿出来,让它成为一个符号矩阵。正如您所看到的,txt 文件已经可以很好地制作矩阵,但我不想将整个内容复制粘贴到脚本中,我宁愿自动完成。
fid = fopen('a.txt');
MMatrix=textscan(fid,'%s');
fclose(fid);
我尝试了上面的代码,但结果没有用。你认为复制整个东西并将其用于矩阵制作的方法是什么?
解决方案
无需将其读取为字符串或字符数组,然后可能会使用 evil ( eval
)方法,只需将扩展名从txt
to重命名为,m
因为您已经在文本文件中以 MATLAB 方式定义了数组。如果需要,保留这些原始 txt 文件的备份副本。
如果它是单个文件 ( a.txt
),您可以手动或使用此代码将其重命名为a.m
:
movefile('a.txt', 'a.m');
如果目录中有多个此类文件,则可以使用以下代码更改当前目录中所有此类 txt 文件的扩展名:
txtfiles = dir('*.txt'); %getting all txt files in the current directory
for num = 1:numel(txtfiles)
[~, fname] = fileparts(txtfiles(num).name); %filename (without extension)
movefile(txtfiles(num).name, [fname,'.m']); %renaming
end
现在,您可以简单地使用脚本中相应文件的名称来获取该文件中包含的任何数组。
推荐阅读
- python - 为什么 scikit-learn r2 得分为零?
- python - Heroku 通过外部 SMTP 服务器发送邮件
- python - 是否有可能在字典中查找字符串?
- drupal - 在没有编辑权限的情况下翻译内容时访问菜单设置
- java - 用于容器化应用程序的 Open JDK 和 Oracle JDK 之间的区别
- java - 我的 Spring Boot 项目有映射异常
- javascript - 在 React 中将数组转换为组件
- html - 在悬停时显示包含整个文本的吐司
- python - 使用Openpyxl将IF公式插入Excel后出现“@”符号
- python - Django 外键 JWT 身份验证