1

我最近(实际上是昨天)开始尝试为几个即将进行的项目学习 MATLAB。我有一个简单的问题。对于其中一个项目,我必须编写一个函数来接收两个符号方程fg。如果我在使用之前尝试运行我的函数syms x y(因为fg仅包含xy变量),我会收到未定义的变量错误。我明白这意味着什么,但我想知道无论如何只传递fg而不运行syms x y

4

1 回答 1

1

我不确定您的问题到底出在哪里,但这就是您可以使用两种稍微相似且方便的方式进行新函数定义的方法。

使用函数句柄:将函数输入参数传递给句柄

x = (-1:0.25:1); % input vals
f = @(x) cos(2*pi*x).^2; 
g = @(x) sin(2*pi*x).^2; 

h = @(f1, f2) f1 + f2;
h(f(x), g(x))

使用符号方程sym仅在构建方程时使用

% symbolic
f = sym('cos(2*pi*x)^2');
g = sym('sin(2*pi*x)^2');

h = f + g;
subs(h, x)    

显然,您可以将上述内容推广到多个自变量,即(x,y).希望这很接近!

于 2012-10-12T19:48:01.243 回答