displayFormula in LiveScript giving me a red triangle with a question mark - and NO explanation!

2 次查看(过去 30 天)
Can someone tell me why this code:
syms y t;
y=(-t-2);
eq="(S+1)*int(y,t,t+3,3)";
eqstr=["'Region 2'"; eq ; "'for t+3>=-2 and t+(7-D)<=2'"];
displayFormula(eqstr)
gives me the following output:
Specifically, why the heck am I getting that red triangle with NO explanation in the Live Editor, and also "Region 2" has the 2 as a subscript?
When I run the code in the interpreter, things work fine and I get the following:
...but no error telling me something was awry that would justify the red question mark in the Live Editor.
Does anyone have any idea?

采纳的回答

Cris LaPierre
Cris LaPierre 2021-11-5
编辑:Cris LaPierre 2021-11-5
I can't say why it is doing what it is doing. However, some playing around determined the following.
  • It appears when a string ends with a number, it is automatcally getting subscripted in a live script. Place a space after the number to avoid the subscripting.
  • Removing the "<" fixes the red diamond with a question mark. I realize you need it. I just haven't figured out how to do that.
syms y t
y=(-t-2);
eq="(2+1)*int(y,t,t+3,3)";
eqstr=["'Region 2 '"; eq ; "'for t+3>=-2 and t+(7-D) =2 '"];
displayFormula(eqstr)
Region 2 
for t+3>=-2 and t+(7-D) =2 
Both of these look like issues that should be reported to MathWorks support. You can do that here.
  3 个评论
Cris LaPierre
Cris LaPierre 2021-11-5
编辑:Cris LaPierre 2021-11-5
Here's a workaround for the '<'. This uses &ge; for '>=' and &le; for '<='.
syms y t;
y=(-t-2);
eq="(S+1)*int(y,t,t+3,3)";
eqstr=["'Region 2 '"; eq ; "'for t+3 &ge; -2 and t+(7-D) &le; 2 '"];
displayFormula(eqstr)
Region 2 
for t+3 ≥ -2 and t+(7-D) ≤ 2 

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Assumptions 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by