如何输出带有评估的数字输入的函数?

时间:2018-12-12 16:54:50

标签: matlab function

我有

a= 3; b=-2; c= 2; d=-2;
fprintf( 'a=%.0f b=%.0f c=%.0f d=%.0f\n', a, b, c, d );
f = @(t,y) [(a*y(1) + b*y(2)); (c*y(1) + d*y(2))];

我想显示a,b,c,d替换为3,-2,2,-2

f = @(t,y) [(3*y(1) - 2*y(2)); (2*y(1) - 2*y(2))];

该函数在以后的代码中可以正常工作。怎么办?

谢谢。 MM

1 个答案:

答案 0 :(得分:0)

我也不能百分百确定我是否正确理解了您的问题,但是通常您可以使用Matlab Symbolic Toolbox的功能来执行类似的操作。使用此工具箱的syms函数创建符号变量,然后使用工具箱的subs函数,该函数允许您将符号变量替换为数值。

所以我们说:a,b,c和d是符号,由

定义
  

syms a b c d。您会subs(f, [a b c d], [3 -2 2 -2])

希望有帮助。至少应该将您指向正确的方向。