假设我有一个以这种方式创建的变量向量:
A = sym('A%d',[1 , 3]);
还有一个内联函数,它是A:
的函数f = inline(A(1)^2 + A(2)^3 - 10*A(3) , 'A');
现在,问题是如何定义另一个具有以下形式的g
函数:
g = f*10
或依赖f
的任何其他类型的函数。
提前致谢
答案 0 :(得分:1)
根据@Daniel的建议,您应该使用anonymous functions。在inline
的文档中,Mathworks警告这将在将来的版本中删除,并告诉您使用匿名函数。
匿名函数的语法非常简单:
f = @(A) A(1)^2 + A(2)^3 - 10*A(3)
使用@(A)
,您可以定义一个输入变量,并将其命名为A
。如果您有两个输入A
和B
,请写入@(A,B)
。但请注意:这些名称A
和B
只是匿名函数中的内部名称。以下两个函数100%相同:
f1 = @(x) 10*x
f2 = @(A) 10*A
您可以将这些匿名函数称为普通函数,例如
f([1, 2, 3])
f(x)
如果要创建函数g = 10*f
,则将此函数定义为
g = @(A) 10*f(A)
这是一个小型演示:
A = sym('A%d',[1 , 3]);
f = @(x) x(1)^2 + x(2)^3 - 10*x(3)
g = @(x) 10*f(x)
g(A)
ans =
10*A1^2 + 10*A2^3 - 100*A3