【问题标题】:How to output a function with numeric inputs evaluated? [closed]如何输出一个评估了数字输入的函数? [关闭]
【发布时间】:2018-12-12 16:54:50
【问题描述】:

我有

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

我想用 3,-2,2,-2 替换 a,b,c,d 来显示 f

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

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

谢谢。嗯

【问题讨论】:

  • 显示功能是什么意思。您想显示函数为示例输入显示的值吗?
  • 请参阅编辑后的帖子。
  • 顺便说一句,您的功能独立于t。所以t 在这里毫无用处

标签: matlab function


【解决方案1】:

我也不是 100% 确定我是否正确理解了您的问题,但通常您可以使用 Matlab 符号工具箱的功能来做类似的事情。使用此工具箱的syms 函数创建符号变量,然后使用工具箱的subs 函数,可以将符号变量替换为您的数值。

假设:a、b、c 和 d 是符号,由

定义

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

希望对您有所帮助。至少应该为您指明正确的方向。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-10
    • 2020-04-06
    • 1970-01-01
    • 2015-12-28
    • 1970-01-01
    • 2018-12-19
    • 1970-01-01
    相关资源
    最近更新 更多