poster
2019-12-10, 20:48
假设我们有类似u1 = 1/24 * h * sin(3 * t)-1 / 24 * h * sin(3 * t)* k + 1/24 * h * sin(t)-1 / 24 *的表达式h k sin(t)。将其保存为.mat文件后,如何将其加载到matlab。我是matlab的新用户。我们使用的是matlab版本5.3的符号工具箱。使用char命令后,我们也可以将表达式保存在mat文件或其他文件中,例如fid = fopen('out.mat','r'); syms tk class(t); u0 = sin(t)+ k * cos(t)^ 2; u0 = char(u0); fprintf(fid,'u0 =%s',u0); fclose(fid);
据我所知,这会将u0保存在out.mat文件或所选名称中。如果您有更好的选择,请告诉我。因此,现在我的问题是如何加载它或如何在其他文件中使用此表达式。抱歉,没有提供有关此问题的完整信息。我已经尝试了命令load filename,但是它给出了“文件无法打开”的信息。我不知道。为什么?
回答:
将变量保存和加载到.mat文件的正确方法是使用SAVE (http://www.mathworks.com/access/helpdesk/help/techdoc/ref/save.html)和LOAD (http://www.mathworks.com/access/helpdesk/help/techdoc/ref/load.html)函数。例如:
syms tk %# 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 (http://www.mathworks.com/access/helpdesk/help/techdoc/ref/save.html)和LOAD (http://www.mathworks.com/access/helpdesk/help/techdoc/ref/load.html)的功能形式:
save('out.mat','u0'); %# Save u0 to out.mat load('out.mat'); %# Load u0 into your workspace
更多&回答... (https://stackoverflow.com/questions/3262901)
据我所知,这会将u0保存在out.mat文件或所选名称中。如果您有更好的选择,请告诉我。因此,现在我的问题是如何加载它或如何在其他文件中使用此表达式。抱歉,没有提供有关此问题的完整信息。我已经尝试了命令load filename,但是它给出了“文件无法打开”的信息。我不知道。为什么?
回答:
将变量保存和加载到.mat文件的正确方法是使用SAVE (http://www.mathworks.com/access/helpdesk/help/techdoc/ref/save.html)和LOAD (http://www.mathworks.com/access/helpdesk/help/techdoc/ref/load.html)函数。例如:
syms tk %# 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 (http://www.mathworks.com/access/helpdesk/help/techdoc/ref/save.html)和LOAD (http://www.mathworks.com/access/helpdesk/help/techdoc/ref/load.html)的功能形式:
save('out.mat','u0'); %# Save u0 to out.mat load('out.mat'); %# Load u0 into your workspace
更多&回答... (https://stackoverflow.com/questions/3262901)