Added to the CVode package, it also benefits from the CVode root finding feature.
* Added a new link style (`Optimal`) for automatically finding the optimal route.
* Automatically reposition split blocks for better-looking layout.
+* `EXPBLK_m (a^u)` and `POWBLK_f (u^a)` icons now show the value of the `a` parameter. The `AUTOMAT` icon now shows `Nmodes` and `Nstates` values. The `SineVoltage` icon now shows the frequency value.
* Block modifications:
- `INVBLK`: add a divide by zero parameter to ignore the error
- `PRODUCT`: add a divide by zero parameter to ignore the error
- dynamic palette with the last used blocks
- zoom using CTRL(+), CTRL(-) and CTRL(mouse wheel)
- load SVG icons
-* Deleted obsolete WFILE_f block, please use WRITEC_f instead.
+* Deleted obsolete `WFILE_f` block, please use `WRITEC_f` instead.
API modification
* [#14656](http://bugzilla.scilab.org/show_bug.cgi?id=14656): The `matrix` page missed a synopsis for hypermatrix and deserved some improvements.
* [#14680](http://bugzilla.scilab.org/show_bug.cgi?id=14680): The `<` char in expression was not rendered in the icon of Xcos EXPRESSION block.
* [#14703](http://bugzilla.scilab.org/show_bug.cgi?id=14703): `clear linspace, type(linspace)` returned 11 instead of 13.
+* [#14749](http://bugzilla.scilab.org/show_bug.cgi?id=14749): The icon of the Xcos `POWBLK_f` and `EXPBLK_m` blocks displayed "u^a" and "a^u" instead of the actual a value.
* [#14883](http://bugzilla.scilab.org/show_bug.cgi?id=14883): `whereis` did not support builtin functions.
* [#14886](http://bugzilla.scilab.org/show_bug.cgi?id=14886): `Matplot` save/load failed.
* [#14896](http://bugzilla.scilab.org/show_bug.cgi?id=14896): Using `set` with multiple properties, only the first one was set.
graphics.exprs=exprs
x.graphics=graphics;
x.model=model
+ // Updating the label:
+ lab = "SineVoltage;displayedLabel=$\mathsf{\substack{"+exprs(1)+"\,V\\ \sim\,"+exprs(3)+"}}$"
+ x.graphics.style = lab;
break
end
case "define" then
gr_i=[]
-
- x=standard_define([2 2],model,exprs,gr_i)
+ x=standard_define([2.2 2.2],model,exprs,gr_i)
x.graphics.in_implicit=["I"]
x.graphics.out_implicit=["I"]
end
gr_i=[]
- x=standard_define([4 2],model,exprs,gr_i);
+ x=standard_define([4.7 2.2],model,exprs,gr_i);
end
endfunction
if rule == 0 then
label = "==";
elseif rule == 1 then
- label = "~=";
+ label = "$\Large\ne$";
elseif rule == 2 then
- label = "<"; // <
+ label = "$\Large\lt$"; // <
elseif rule == 3 then
- label = "≤"; // <=
+ label = "$\Large\le$"; // <=
elseif rule == 4 then
- label = ">"; // >
+ label = "$\Large\gt$"; // >
elseif rule == 5 then
- label = "≥"; // >=
+ label = "$\Large\ge$"; // >=
end
graphics.exprs=exprs;
graphics.style=["fontSize=13;fontStyle=1;displayedLabel="+label];
end
case "define" then
ipar=[2]
- label="<";
+ label="$\Large\lt$";
model=scicos_model()
model.sim=list("relationalop",4)
model.in=[1;1]
exprs=[string(ipar);string(0)]
gr_i=[]
x=standard_define([2 2],model,exprs,gr_i)
- x.graphics.style=["fontSize=13;fontStyle=1;displayedLabel="+label];
+ x.graphics.style=["displayedLabel="+label];
end
endfunction
model.rpar=a;
x.graphics=graphics;
x.model=model
+ // Updating the label ("%" like in "%e" must be protected):
+ lab = "EXPBLK_m;displayedLabel=" + ..
+ "$\mathsf{{"+strsubst(exprs,"%","{\scriptsize \%\normal }")+"}^{\,\large u}}$"
+ x.graphics.style = lab;
break
end
end
model.blocktype="c"
model.dep_ut=[%t %f]
- exprs=["%e"]
+ exprs = ["%e"]
gr_i=[]
- x=standard_define([2 2],model,exprs,gr_i)
+ x=standard_define([2 2], model, exprs, gr_i)
end
endfunction
model.firing=[] //compatibility
x.graphics=graphics;
x.model=model
+ // Updating the label ("%" in exponents like "%e" should be protected):
+ lab = "POWBLK_f;displayedLabel=" + ..
+ "$\mathsf{u^{\,"+strsubst(exprs,"%","{\scriptsize \%\normal }")+"}}$"
+ x.graphics.style = lab;
break
end
case "define" then
<add as="FROMWSB" extend="blockWithLabel">
<!-- FIXME: update label from parameters (not as exprs) -->
<add as="displayedLabel" value="From workspace"/>
+ <!--<add as="displayedLabel" value="$\mathsf{\substack{From workspace\\ \Large %s}}$"/> -->
</add>
<!-- CONTINUOUS -->
<add as="DERIV" extend="blockWithLabel">
<add as="INTEGRAL_m" extend="Icon">
<add as="image" value="$SCILAB/modules/xcos/images/blocks/INTEGRAL.svg"/>
<!--
- <add as="displayedLabel" value="<FONT SIZE="6">
- ∫ </FONT>"/>
- -->
+ <add as="INTEGRAL_m" extend="blockWithLabel">
+ <add as="displayedLabel" value="$%s$"/>
+ <add as="displayedLabel" value="<FONT SIZE="6">
+ ∫ </FONT>"/>
+ -->
</add>
<add as="INTEGRAL" extend="INTEGRAL_m"/>
<add as="CLSS" extend="blockWithLabel">
-->
</add>
<add as="POWBLK_f" extend="blockWithLabel">
- <add as="displayedLabel" value="u^a"/>
+ <add as="displayedLabel" value="$\mathsf{u^{%s}}$"/>
</add>
<add as="INVBLK" extend="blockWithLabel">
<add as="displayedLabel" value="1/u"/>
<add as="displayedLabel" value="A / B"/>
</add>
<add as="EXPBLK_m" extend="blockWithLabel">
- <add as="displayedLabel" value="a^u"/>
+ <add as="displayedLabel" value="$\mathsf{{{\scriptsize \%\normal}e}^{\large\,u}}$"/>
</add>
<add as="PROD_f" extend="blockWithLabel">
<add as="shape" value="ellipse"/>
</add>
<add as="MAXMIN" extend="blockWithLabel">
<add as="displayedLabel" value="MIN / MAX"/>
+
</add>
<add as="ABS_VALUE" extend="blockWithLabel">
<add as="displayedLabel" value="ABS"/>
</add>
<add as="M_freq" extend="blockWithLabel">
<add as="displayedLabel" value="Multiple<BR> frequency"/>
-
+
</add>
<add as="ANDBLK" extend="Icon">
<add as="image" value="$SCILAB/modules/xcos/images/blocks/ANDBLK.svg"/>
<add as="displayedLabel" value="%s"/>
</add>
<add as="RELATIONALOP" extend="blockWithLabel">
- <add as="displayedLabel" value="Relational<BR> op : &<"/>
+ <add as="displayedLabel" value="$\Large\lt$"/>
<!-- new value for the label defined in the interface function of block -->
</add>
<add as="TEXT_f" extend="Label">
<add as="SineVoltage" extend="blockWithLabel">
<add as="shape" value="ellipse"/>
<add as="perimeter" value="ellipsePerimeter"/>
- <add as="displayedLabel" value="%s V<br/>~"/>
+ <add as="displayedLabel" value="$\mathsf{\substack{%s\,V\vphantom{%s}\\ \sim\,%s}}$"/>
</add>
<add as="Switch" extend="Icon">
<add as="image" value="$SCILAB/modules/xcos/images/blocks/SWITCH.svg"/>
</add>
<add as="BPLATFORM" extend="Icon">
<add as="image" value="$SCILAB/modules/xcos/images/blocks/BPLATFORM.svg"/>
+
</add>
<add as="AUTOMAT" extend="blockWithLabel">
- <!-- FIXME : Show parameters over block -->
- <add as="displayedLabel" value="Automaton<BR> nM=2, nX=1"/>
+ <add as="displayedLabel" value="$\mathsf{\substack{\large Automaton\\%s\ modes\ |\ \vphantom{%s}%s\ states}}$"/>
</add>
<!-- GENERATED BLOCKS -->
<add as="SPLIT_f" extend="Split"/>