【问题标题】:Loading another m-file to the workplace is not working将另一个 m 文件加载到工作场所不起作用
【发布时间】:2016-02-10 16:35:34
【问题描述】:

我想将一个名为 myfile.m 的特定 m 文件加载到我的工作区。这个 matlab 文件包含几个我需要加载到我的工作区的数组。

--------------myfile.m------ ----------------

r_red=[218,2,1,12,238,106,246,14,26,77,244];
r_green=[65,61,37,247,151,217,229,235,218,2,1];
r_blue =[14,26,77,244,164,131,119,9,222,80,61,228];

在我的工作空间中,我尝试通过使用这些数组来运行这段代码和其他一些支持代码。我使用的代码如下。

addpath('D:\mydocs'); % This is the place where myfile.m is located.
load myfile.m;

当我运行它时,我得到了以下错误。 使用加载时出错 ASCII 文件 D:\mydocs\keyfile.m 的第 2 行上的未知文本 “r_red=[218”。

高度赞赏任何与此相关的 cmets。 谢谢。

【问题讨论】:

  • "mat" 用于矩阵,而不是数学。而mat文件是二进制数据;你的意思是一个m文件,以“.m”结尾。你load .mat 文件,你run .m 文件。
  • 非常感谢您的倡议。但我真正想要的是将变量加载到我的工作区,以便我可以使用它们。我尝试更改加载 myfile.mat。但是没有甚至都行不通。对于 php 中的示例,通过使用 include 命令,一开始包含的文件和它们的变量可以进一步使用。我想到了类似的东西。
  • 阅读并尝试我的答案,看看它的作用。

标签: matlab function load


【解决方案1】:

问题在于load 用于加载存储在.mat 文件中的二进制数据或基于文本的(ASCII) 数据文件。你所拥有的是一个 m 文件中的简单脚本,以 .m 结尾。你load.mat 文件,但你run m-files 包含脚本:

run myfile.m;

来自load documentation

load(filename) 从文件名加载数据。

如果 filename 是 MAT 文件,则 load(filename) 将 MAT 文件中的变量加载到 MATLAB® 工作区中。

如果 filename 是 ASCII 文件,则 load(filename) 创建一个包含文件数据的双精度数组。

您的文件都不是

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-04
    • 1970-01-01
    • 1970-01-01
    • 2017-09-07
    相关资源
    最近更新 更多