如何在 MATLAB 中的脚本文件中生成函数
How to generate a function inside a script file in MATLAB
我正在寻找一种在 MATLAB 中编写脚本文件的方法,该脚本文件生成一系列函数并将它们分别保存在单独的 m 文件中。
更准确地说,假设您有一个脚本文件,并且您想要生成 N 个不同的函数;像这样:
for i=1:N
第一步:做一些符号计算,找到fi
的表达式
第二步:定义函数fi=fi(...)
第 3 步:将函数保存在 m 文件中,比如 fi.m
结束
到目前为止,我自己还没有找到任何线索。这里有两个问题,如果回答了,这样的代码就直接如下:
1.如何在脚本文件中定义函数并自动保存在m文件中:
假设 y=f(x)=x^2 是在脚本文件中计算的符号关系;如何自动为它生成函数并保存在m文件中
2。如何将字符串用作文件名、函数名等:假设您正在为每个 i 在循环中创建一个字符串 "fi",并且您希望将此字符串用作函数名
提前感谢您的帮助
https://www.mathworks.com/help/symbolic/matlabfunction.html#bul5mb5-1
如果您想将符号函数转换为 MATLAB 函数文件,MATLAB 有一个函数(称为 matlabFunction)可以执行此操作。
该页面的示例:
syms x y z
r = x^2 + y^2 + z^2;
f = matlabFunction(log(r)+r^(-1/2),'File','myfile');
创建 'myfile.m':
function out1 = myfile(x,y,z)
%MYFILE
% OUT1 = MYFILE(X,Y,Z)
t2 = x.^2;
t3 = y.^2;
t4 = z.^2;
t5 = t2 + t3 + t4;
out1 = log(t5) + 1.0./sqrt(t5);
我正在寻找一种在 MATLAB 中编写脚本文件的方法,该脚本文件生成一系列函数并将它们分别保存在单独的 m 文件中。
更准确地说,假设您有一个脚本文件,并且您想要生成 N 个不同的函数;像这样:
for i=1:N
第一步:做一些符号计算,找到fi
的表达式
第二步:定义函数fi=fi(...)
第 3 步:将函数保存在 m 文件中,比如 fi.m
结束
到目前为止,我自己还没有找到任何线索。这里有两个问题,如果回答了,这样的代码就直接如下:
1.如何在脚本文件中定义函数并自动保存在m文件中: 假设 y=f(x)=x^2 是在脚本文件中计算的符号关系;如何自动为它生成函数并保存在m文件中
2。如何将字符串用作文件名、函数名等:假设您正在为每个 i 在循环中创建一个字符串 "fi",并且您希望将此字符串用作函数名
提前感谢您的帮助
https://www.mathworks.com/help/symbolic/matlabfunction.html#bul5mb5-1
如果您想将符号函数转换为 MATLAB 函数文件,MATLAB 有一个函数(称为 matlabFunction)可以执行此操作。
该页面的示例:
syms x y z
r = x^2 + y^2 + z^2;
f = matlabFunction(log(r)+r^(-1/2),'File','myfile');
创建 'myfile.m':
function out1 = myfile(x,y,z)
%MYFILE
% OUT1 = MYFILE(X,Y,Z)
t2 = x.^2;
t3 = y.^2;
t4 = z.^2;
t5 = t2 + t3 + t4;
out1 = log(t5) + 1.0./sqrt(t5);