TLC FEVAL() function returns 0 always HELP!

14 ビュー (過去 30 日間)
Xenoepist
Xenoepist 2012 年 9 月 12 日
コメント済み: Sameer 2014 年 10 月 15 日
(Note: I took the "A" variable out to simplify the problem, so is not used for now.)
I'm trying the following TLC code:
%function Outputs(block, system) Output
%assign rollVars = ["U", "Y"]
%roll idx = RollRegions, lcv = RollThreshold, block, "Roller", rollVars
%assign A = LibBlockInputSignal(0,"",lcv,idx) %%Constant Amplitude
%assign t = LibBlockInputSignal(1,"",lcv,idx) %%Time from Simulink clock block
%assign x = 1.5708 %%Test Variable
%<LibBlockOutputSignal(0, "", lcv, idx)> = %<FEVAL("sin", t)>;
%endroll
%endfunction
But the output of FEVAL returns zero when I use a parameter from "LibBlockInputSignal()"... so the following formats for FEVAL return zero
%<FEVAL("sin", t)>, %<FEVAL("cos", t)>,
%<FEVAL("sin", A)>, %<FEVAL("cos", A)>
However, when I try %<FEVAL("sin", x)>, it returns the actual sine of x. (in this case x = pi/2 so it returns 1)
Also, if I set the variable "t" as an output (instead of FEVAL), I can see the time on the Simulink model scope block. So I know the variable "t" is holding the simulation run time as a double.
I am really confused on why this happens. Any help would be appreciated
  1 件のコメント
Sameer
Sameer 2014 年 10 月 15 日
Did your problem get solved?

サインインしてコメントする。

回答 (0 件)

カテゴリ

Help Center および File ExchangeTarget Language Compiler についてさらに検索

製品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by