【问题标题】:how to create own simulink block ?如何创建自己的 simulink 块?
【发布时间】:2014-09-08 11:34:36
【问题描述】:

我想创建一个可以执行以下操作的 simulink 块。

1) 输入值与标准值相减,直到误差小于0.01。

例子

input value = 7,0005. 
standard values = [1,2,3,4,5,6,7,8,9,10] or [1:n] the result would be 7.

我可以在matlab中做到,但我不知道如何在simulink中做到。

在 Matlab 中

a = 7,0005 % or any other input value
b = [1:10] % standard value
error = 1;
index = 0;
while error < 0.01
      error = abs(a-b(index+1));
end

outputResult = b(index+1);

请帮帮我.......

【问题讨论】:

  • 顺便说一句,您的代码中有一些错误:应该是a = 7.005;,而不是a = 7,005。此外,您需要增加 while 循环中的索引值,并检查 index+1 不会超过 length(b)

标签: block matlab simulink


【解决方案1】:

您可以创建一个 Matlab 函数。见:http://www.mathworks.co.uk/help/simulink/slref/matlabfunction.html

或者您可以在 Simulink 中通过例如一个开关来解决它,指示它是否接近您的标准数之一(u0, abs(mod(u,1))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-11-14
    • 1970-01-01
    • 2012-09-21
    • 2020-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多