如何在 MATLAB 中的脚本文件中生成函数

How to generate a function inside a script file in MATLAB

我正在寻找一种在 MATLAB 中编写脚本文件的方法,该脚本文件生成一系列函数并将它们分别保存在单独的 m 文件中。

更准确地说,假设您有一个脚本文件,并且您想要生成 N 个不同的函数;像这样:

for i=1:N

结束

到目前为止,我自己还没有找到任何线索。这里有两个问题,如果回答了,这样的代码就直接如下:

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);