假设我们有像u1 = 1/24 * h * sin(3 * t)-1 / 24 * h * sin(3 * t)* k + 1/24 * h * sin(t)-1这样的表达式/ 24 * H ķ SIN(t)的。 将它保存在.mat文件中后,我们如何将其加载到matlab中。我是matlab的新用户。 我们使用matlab版本5.3的符号工具箱。使用char命令后我们可以保存 我们在mat文件或其他文件中的表达式。例如, FID =的fopen( 'out.mat', 'R'); syms t k 类(T); U0 = SIN(T)+ K * COS(T)^ 2; U0 =炭(U0); fprintf中(FID, 'U0 =%s' 的,U0); FCLOSE(FID);
根据我的知识,这将把u0保存在文件out.mat或所选名称中。如果你有更好的选择,那么请告诉我。 所以,现在我的问题是如何加载它或我们将如何在其他文件中使用此表达式。 很抱歉没有提供有关问题的完整信息。我已经尝试了命令加载文件名,但它提供“文件无法打开”。我不知道。为什么?
答案 0 :(得分:2)
将变量保存并加载到.mat文件的正确方法是使用函数SAVE和LOAD。例如:
syms t k %# Declare your symbolic variables
u0 = sin(t)+k*cos(t)^2; %# Make your symbolic equation
save out.mat u0 %# Save u0 to out.mat
然后,您可以通过执行以下操作加载变量u0
:
load out.mat %# Load u0 into your workspace
如果您的文件名存储为字符串,您还可以使用SAVE和LOAD的功能形式:
save('out.mat','u0'); %# Save u0 to out.mat
load('out.mat'); %# Load u0 into your workspace
答案 1 :(得分:0)
你的问题有点困惑,有点令人困惑。你是如何在mat文件中保存表达式的?如何从mat文件加载的常见答案只是执行命令load 'matfile.mat'
,但这取决于首先正确保存了mat文件。
您使用的是Matlab Symbolic Toolbox(或其他任何名称)吗?或者你只是想保存一个Matlab表达式?如果是后者,则m文件可能是比mat文件更好的方法。
请澄清你的问题。