Skip to content

Commit 0e02b6a

Browse files
v0.7.9
1 parent 9774f03 commit 0e02b6a

22 files changed

Lines changed: 422 additions & 92 deletions

File tree

en/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
![banner](banner_homepage.png)
22

3-
### Nelson 0.7.5.0
3+
### Nelson 0.7.9.0
44

55
This is an pre-release of Nelson.
66

en/SUMMARY.md

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@
149149

150150
- [overload](./overload/README.md)
151151

152-
- [overloadbasictypes](./overload/overloadbasictypes.md)
152+
- [overloading](./overload/overloading.md)
153153

154154
- [logical](./logical/README.md)
155155

@@ -246,6 +246,7 @@
246246

247247
- [function_handle](./function_handle/README.md)
248248

249+
- [Anonymous Functions](./function_handle/anonymous_function.md)
249250
- [func2str](./function_handle/func2str.md)
250251
- [isfunction_handle](./function_handle/isfunction_handle.md)
251252
- [str2func](./function_handle/str2func.md)
@@ -967,16 +968,18 @@
967968
- [whosmat](./matio/whosmat.md)
968969

969970
- [json](./json/README.md)
971+
970972
- [jsondecode](./json/jsondecode.md)
971973
- [jsonencode](./json/jsonencode.md)
972974
- [jsonprettyprint](./json/jsonprettyprint.md)
973975

974-
* [file_archiver](./file_archiver/README.md)
976+
- [file_archiver](./file_archiver/README.md)
975977

976978
- [unzip](./file_archiver/unzip.md)
977979
- [zip](./file_archiver/zip.md)
978980

979-
* [audio](./audio/README.md)
981+
- [audio](./audio/README.md)
982+
980983
- [audiodevinfo](./audio/audiodevinfo.md)
981984
- [audioinfo](./audio/audioinfo.md)
982985
- [audiometadata](./audio/audiometadata.md)
@@ -1084,11 +1087,12 @@
10841087
- [webwrite](./webtools/webwrite.md)
10851088

10861089
- [geometry](./geometry/README.md)
1090+
10871091
- [rotx](./geometry/rotx.md)
10881092
- [roty](./geometry/roty.md)
10891093
- [rotz](./geometry/rotz.md)
10901094

1091-
* [com_engine](./com_engine/README.md)
1095+
- [com_engine](./com_engine/README.md)
10921096
- [actxcontrollist](./com_engine/actxcontrollist.md)
10931097
- [actxGetRunningSrv](./com_engine/actxGetRunningSrv.md)
10941098
- [actxserver](./com_engine/actxserver.md)

en/changelogs/CHANGELOG.md

Lines changed: 46 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,43 @@ All notable changes to this project will be documented in this file.
44

55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
66

7+
## 0.7.9 (2023-09-18)
8+
9+
### Changed
10+
11+
- [#488](http://github.com/Nelson-numerical-software/nelson/issues/488) overloading functions:
12+
13+
- all types including basic types can be overloaded.
14+
- overload is now fully compatible using '@' syntax and precedence.
15+
- all operators were reworked to support compatible overload.
16+
17+
- `.*` operator optimized.
18+
- `conv2` optimized.
19+
- Boost 1.82 used on Windows.
20+
21+
- Internals:
22+
23+
- `class`, `function_handle` types reworked.
24+
- types order updated.
25+
- rework validator module.
26+
- functions finder reworked.
27+
- file watcher reworked.
28+
- operators reworked.
29+
- `repmat`, `ones`, `NaN`, `Inf` reworked.
30+
31+
- `function_handle` display is more compatible.
32+
33+
### Added
34+
35+
- [#491](http://github.com/Nelson-numerical-software/nelson/issues/491) Anonymous functions
36+
- `--withoutfilewatcher` executable argument. disable file watcher for current session.
37+
- `<--FILE WATCHER REQUIRED -->` test_run option.
38+
- [#853](http://github.com/Nelson-numerical-software/nelson/issues/853) MacOs 13 ventura CI
39+
40+
### Fixed
41+
42+
- [#916](http://github.com/Nelson-numerical-software/nelson/issues/916) openblas micromamba on macos required to link libgfortran
43+
744
## 0.7.5 (2023-05-27)
845

946
### Changed
@@ -21,7 +58,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
2158
### Added
2259

2360
- Qt 6.5 support.
24-
- [802](http://github.com/Nelson-numerical-software/nelson/issues/802): `bitand`, `bitor`, `bitxor` functions.
61+
- [#802](http://github.com/Nelson-numerical-software/nelson/issues/802): `bitand`, `bitor`, `bitxor` functions.
2562
- `issorted` Determine if array is sorted.
2663
- `num2cell` Convert array to cell array with consistently sized cells.
2764
- `hggroup` Create group object.
@@ -53,7 +90,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
5390

5491
- `weboptions` did not manage HeaderFields as expected.
5592
- update `cacert.pem`.
56-
- [895](http://github.com/Nelson-numerical-software/nelson/issues/895): Micromamba linux build fails after packages updates.
93+
- [#895](http://github.com/Nelson-numerical-software/nelson/issues/895): Micromamba linux build fails after packages updates.
5794

5895
## 0.7.3 (2023-03-28)
5996

@@ -63,7 +100,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
63100
- `ancestor` Ancestor of graphics object.
64101
- hexadecimal color code managed example: '#DDFF00'.
65102
- `validatecolor` Validate color values.
66-
- [851](http://github.com/Nelson-numerical-software/nelson/issues/851): Build with micromamba environment (linux and macOS)
103+
- [#851](http://github.com/Nelson-numerical-software/nelson/issues/851): Build with micromamba environment (linux and macOS)
67104

68105
### Changed
69106

@@ -74,10 +111,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
74111

75112
### Fixed
76113

77-
- [866](http://github.com/Nelson-numerical-software/nelson/issues/866): Close menu on figure can crash on linux.
114+
- [#866](http://github.com/Nelson-numerical-software/nelson/issues/866): Close menu on figure can crash on linux.
78115
- graphic hierarchy was not fully destroyed after `close` or `delete`.
79116
- labels were not displayed correctly when the logarithmic scale was enabled.
80-
- [869](http://github.com/Nelson-numerical-software/nelson/issues/869): missing help files in linux package.
117+
- [#869](http://github.com/Nelson-numerical-software/nelson/issues/869): missing help files in linux package.
81118

82119
## 0.7.2 (2023-02-27)
83120

@@ -107,9 +144,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
107144
- `drawnow`: Update figures and process callbacks.
108145
- `DrawLater` property added to `figure` graphics object.
109146
- `interp1` linear interpolation 1D.
110-
- [736](http://github.com/Nelson-numerical-software/nelson/issues/736): `bone`, `cool`, `copper`, `hot`, `jet`, `pink`, `turbo`, `viridis`, `white` colormaps.
147+
- [#736](http://github.com/Nelson-numerical-software/nelson/issues/736): `bone`, `cool`, `copper`, `hot`, `jet`, `pink`, `turbo`, `viridis`, `white` colormaps.
111148
- `Visible` property to `figure` graphics object.
112-
- [809](http://github.com/Nelson-numerical-software/nelson/issues/809): `NumberTitle` property to `figure` graphics object.
149+
- [#809](http://github.com/Nelson-numerical-software/nelson/issues/809): `NumberTitle` property to `figure` graphics object.
113150
- `AlphaMap` and `Colormap` properties added to `Axes` graphics object.
114151
- `LineStyleOrder` property of 'axes' used for `plot` and `plot3`.
115152
- `ColorOrderIndex` and `LineStyleOrderIndex` properties added to `axes` graphics object.
@@ -120,10 +157,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
120157
- `imwrite` Write image to graphics file.
121158
- `imshow` Display image.
122159
- `surface` Primitive surface plot.
123-
- [808](http://github.com/Nelson-numerical-software/nelson/issues/808): `pcolor` Pseudocolor plot.
160+
- [#808](http://github.com/Nelson-numerical-software/nelson/issues/808): `pcolor` Pseudocolor plot.
124161
- `mesh` Mesh surface plot.
125162
- `meshz` Mesh surface plot with curtain.
126-
- [807](http://github.com/Nelson-numerical-software/nelson/issues/807): `loglog` Log-log scale plot.
163+
- [#807](http://github.com/Nelson-numerical-software/nelson/issues/807): `loglog` Log-log scale plot.
127164
- `CHANGELOG` 0.7.x family.
128165

129166
### Changed

en/engine/executable.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ Executables to start Nelson software.
2626
- --nouserstartup - disable the user script file executed at startup after the main startup file.
2727
- --minimize - minimize main GUI Windows (GUI mode only).
2828
- --noipc - disable interprocess features (files association, ipc builtin).
29+
- --withoutfilewatcher - disable file watcher feature for this session.
2930
- --noaudio - disable audio module.
3031
- --language lang - If this option is present it fixes the user language. Currently, lang can be: fr_FR en_US.
3132
- --quiet - If this option is present no banner and version displayed.

en/function_handle/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ Function_handle functions
66

77
function_handle functions
88

9+
- [Anonymous Functions](anonymous_function.md) - Anonymous Functions.
910
- [func2str](func2str.md) - Return a function handle constructed from a string.
1011
- [isfunction_handle](isfunction_handle.md) - Checks if value is a function handle.
1112
- [str2func](str2func.md) - Returns a function handle from a string.

en/function_handle/SUMMARY.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
- [function_handle](README.md)
2+
- [Anonymous Functions](anonymous_function.md)
23
- [func2str](func2str.md)
34
- [isfunction_handle](isfunction_handle.md)
45
- [str2func](str2func.md)
Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
# Anonymous Functions
2+
3+
Anonymous Functions.
4+
5+
## Description
6+
7+
<p>Anonymous functions provide a convenient way to swiftly create straightforward functions without the need to generate separate M-files on every occasion.</p>
8+
<p>These anonymous functions can be built either directly at the command line or within any M-file function or script.</p>
9+
<p>To create an anonymous function from an expression, use the following syntax:</p>
10+
<p>function_handle = @(argument_list) expression</p>
11+
<p/>
12+
<p>Breaking down this syntax, <b>expression</b> represents the body of the function, which contains the code that performs the primary task of your function.</p>
13+
<p>This part consists of a valid expression. Next, there's <b>argument_list</b>, which is a comma-separated list of input arguments to be passed to the function.</p>
14+
<p>These components are similar to the body and argument list of any regular function.</p>
15+
<p/>
16+
<p>At the beginning of this syntax statement, you'll notice the <b>@</b> sign.</p>
17+
<p>This <b>@</b> sign is the operator that constructs a function handle.</p>
18+
<p>Creating a function handle for an anonymous function allows you to invoke the function and is useful when passing your anonymous function as an argument to another function.</p>
19+
<p>The <b>@</b> sign is a necessary part of the anonymous function definition.</p>
20+
<p/>
21+
<p>It's worth noting that function handles not only apply to anonymous functions but also to any function.</p>
22+
<p>The syntax for creating a function handle to a regular function is different and looks like this:</p>
23+
<p>function_handle = @function_name</p>
24+
<p>For example: <b>f = @cos</b></p>
25+
<p>You have the option to store function handles along with their associated values in a MAT-file.</p>
26+
<p>Later, in a different session, you can retrieve and utilize them using the save and load functions.</p>
27+
<p>for example <b>a = 1;b = 2; f = @(x) a + b + x; save('test.nH5', f);</b></p>
28+
<p>Only .nh5 files allows to save and load function_handle type as expected.</p>
29+
<p>You can create an anonymous function that takes multiple input arguments, x and y.</p>
30+
<p>Assuming that variables A and B are already defined, you can define the function as follows:</p>
31+
<p>
32+
<b>A = 10; B = 100; r = @(x, y) (A*y + B*x);</b>
33+
</p>
34+
35+
## Examples
36+
37+
```matlab
38+
A = 10;
39+
f1 = @() sqr(A);
40+
clear A
41+
f1
42+
f1()
43+
```
44+
45+
```matlab
46+
f2 = @cos;
47+
f2
48+
f2(0.6)
49+
```
50+
51+
```matlab
52+
f3 = @(x)cos(x) + 1;
53+
f2
54+
f3(0.6)
55+
```
56+
57+
Multiple input arguments
58+
59+
```matlab
60+
A = 10;
61+
B = 100;
62+
f4 = @(x, y) (A*y + B*x);
63+
f4
64+
f4(0.6, 0.2)
65+
```
66+
67+
Save/Load function handle
68+
69+
```matlab
70+
a = 1;
71+
b = 2;
72+
f5 = @(x) a + b + x;
73+
save([tempdir(), 'test.nh5'], 'f5');
74+
clear all
75+
load([tempdir(), 'test.nh5'])
76+
f5
77+
f5(10)
78+
```
79+
80+
Multiple output arguments
81+
82+
```matlab
83+
P = pi * 3;
84+
mymeshgrid = @(X, Y) meshgrid((-X:X/P:X),(-Y:Y/P:Y));
85+
[x, y] = mymeshgrid(pi, 2 * pi);
86+
z = cos(x) + sin(y);
87+
mesh(x, y, z)
88+
```
89+
90+
## See also
91+
92+
[func2str](func2str.md), [str2func](str2func.md), [isfunction_handle](isfunction_handle.md).
93+
94+
## History
95+
96+
| Version | Description |
97+
| ------- | --------------- |
98+
| 1.0.0 | initial version |
99+
100+
## Author
101+
102+
Allan CORNET

en/operators/eq.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ equality, == operator.
2020

2121
<p><b>C = eq(A, B)</b> returns a logical array with elements set to logical <b>true</b> where arrays A and B are equals.</p>
2222
<p/>
23+
<p><b>eq</b> compares both real and imaginary parts of numeric arrays.</p>
2324

2425
## Examples
2526

en/operators/ge.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ greater than or equal, >= operator.
2020

2121
<p><b>C = ge(A, B)</b> returns a logical array with elements set to logical <b>true</b> A is greater than or equal to B.</p>
2222
<p/>
23+
<p><b>ge</b> compares only the real part of numeric arrays.</p>
2324

2425
## Examples
2526

en/operators/gt.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ greater than, > operator.
2020

2121
<p><b>C = gt(A, B)</b> returns a logical array with elements set to logical <b>true</b> A is greater than B.</p>
2222
<p/>
23+
<p><b>gt</b> compares only the real part of numeric arrays.</p>
2324

2425
## Examples
2526

0 commit comments

Comments
 (0)