我有
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
答案 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])
希望有帮助。至少应该将您指向正确的方向。