Skip to content

Commit

Permalink
v1.3.0
Browse files Browse the repository at this point in the history
  • Loading branch information
Nelson-numerical-software committed Mar 30, 2024
1 parent b45dde7 commit 70f2d06
Show file tree
Hide file tree
Showing 57 changed files with 13,197 additions and 16 deletions.
2 changes: 1 addition & 1 deletion en/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
![banner](banner_homepage.png)

### Nelson 1.2.0.0
### Nelson 1.3.0.0

Nelson is an interactive, fully functional environment for engineering and scientific applications. It implements a matrix-driven language (which is largely compatible with MATLAB and GNU Octave), with advanced features such as 2-D 3-D plotting, image manipulation and viewing, a codeless interface to external C/C++/FORTRAN libraries, native support for various C types, and a host of other features.

Expand Down
19 changes: 18 additions & 1 deletion en/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -226,6 +226,7 @@
- [endsWith](./string/endsWith.md)
- [int2str](./string/int2str.md)
- [isletter](./string/isletter.md)
- [isspace](./string/isspace.md)
- [isStringScalar](./string/isStringScalar.md)
- [mat2str](./string/mat2str.md)
- [matches](./string/matches.md)
Expand Down Expand Up @@ -420,6 +421,7 @@
- [rosser](./elementary_functions/rosser.md)
- [rot90](./elementary_functions/rot90.md)
- [round](./elementary_functions/round.md)
- [shiftdim](./elementary_functions/shiftdim.md)
- [sign](./elementary_functions/sign.md)
- [size](./elementary_functions/size.md)
- [sqrt](./elementary_functions/sqrt.md)
Expand Down Expand Up @@ -510,6 +512,7 @@
- [diff](./linear_algebra/diff.md)
- [eig](./linear_algebra/eig.md)
- [expm](./linear_algebra/expm.md)
- [gradient](./linear_algebra/gradient.md)
- [inv](./linear_algebra/inv.md)
- [isbanded](./linear_algebra/isbanded.md)
- [ishermitian](./linear_algebra/ishermitian.md)
Expand All @@ -528,16 +531,19 @@
- [subspace](./linear_algebra/subspace.md)
- [svd](./linear_algebra/svd.md)
- [trace](./linear_algebra/trace.md)
- [vecnorm](./linear_algebra/vecnorm.md)

- [statistics](./statistics/README.md)

- [corrcoef](./statistics/corrcoef.md)
- [cov](./statistics/cov.md)
- [mean](./statistics/mean.md)
- [normpdf](./statistics/normpdf.md)
- [var](./statistics/var.md)

- [polynomial_functions](./polynomial_functions/README.md)

- [deconv](./polynomial_functions/deconv.md)
- [poly](./polynomial_functions/poly.md)
- [polyder](./polynomial_functions/polyder.md)
- [polyfit](./polynomial_functions/polyfit.md)
Expand All @@ -558,6 +564,7 @@
- [mag2db](./signal_processing/mag2db.md)
- [pow2db](./signal_processing/pow2db.md)
- [sinc](./signal_processing/sinc.md)
- [xcorr2](./signal_processing/xcorr2.md)
- [zp2tf](./signal_processing/zp2tf.md)

- [slicot](./slicot/README.md)
Expand Down Expand Up @@ -594,6 +601,7 @@
- [dot](./special_functions/dot.md)
- [factor](./special_functions/factor.md)
- [gamma](./special_functions/gamma.md)
- [gammaln](./special_functions/gammaln.md)
- [gcd](./special_functions/gcd.md)
- [interp1](./special_functions/interp1.md)
- [peaks](./special_functions/peaks.md)
Expand Down Expand Up @@ -819,6 +827,8 @@
- [colorbar](./graphics/colorbar.md)
- [colormap](./graphics/colormap.md)
- [colstyle](./graphics/colstyle.md)
- [contour](./graphics/contour.md)
- [contour3](./graphics/contour3.md)
- [cool](./graphics/cool.md)
- [copper](./graphics/copper.md)
- [copygraphics](./graphics/copygraphics.md)
Expand Down Expand Up @@ -1053,6 +1063,8 @@

- [dynamic_link](./dynamic_link/README.md)

- [Build C/C++ code on the fly](./dynamic_link/1_c_cpp_build_on_fly.md)
- [Supported C/C++ compilers](./dynamic_link/2_supported_compilers.md)
- [cmake](./dynamic_link/cmake.md)
- [configuremingw](./dynamic_link/configuremingw.md)
- [configuremsvc](./dynamic_link/configuremsvc.md)
Expand Down Expand Up @@ -1084,7 +1096,6 @@
- [libpointer_used](./dynamic_link/libpointer_used.md)
- [loadcompilerconf](./dynamic_link/loadcompiler.md)
- [removecompilerconf](./dynamic_link/removecompilerconf.md)
- [Supported C/C++ compilers](./dynamic_link/supported_compilers.md)
- [vswhere](./dynamic_link/vswhere.md)

- [mex](./mex/README.md)
Expand Down Expand Up @@ -1151,6 +1162,7 @@
- [iscom](./com_engine/iscom.md)

- [control_system](./control_system/README.md)

- [abcdchk](./control_system/abcdchk.md)
- [acker](./control_system/acker.md)
- [append](./control_system/append.md)
Expand Down Expand Up @@ -1212,3 +1224,8 @@
- [tfdata](./control_system/tfdata.md)
- [tzero](./control_system/tzero.md)
- [zero](./control_system/zero.md)

- [python_engine](./python_engine/README.md)
- [pyargs](./python_engine/pyargs.md)
- [pyenv](./python_engine/pyenv.md)
- [pyrun](./python_engine/pyrun.md)
39 changes: 39 additions & 0 deletions en/changelogs/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,45 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## 1.3.0 (2024-03-30)

### Added

- Python interface (part 1):

- CMake: Optional Python3 detection.
- `pyenv` Change default environment of Python interpreter.
- `pyrun` Run Python statements from Nelson.
- Major types conversions are compatible (numpy in the next upcoming version).

- ArchLinux packaging (https://aur.archlinux.org/packages/nelson-git).
- `contour` Contour plot of matrix.
- `contour3` 3-D contour plot.
- `shiftdim` Shift array dimensions.
- `xcorr2` 2-D cross-correlation.
- `deconv` Deconvolution and polynomial division.
- `vecnorm` Vector-wise norm.
- `normpdf` Normal probability density function.
- [#310](http://github.com/nelson-lang/nelson/issues/310) `gammaln` Logarithm of gamma function.
- [#1112](http://github.com/nelson-lang/nelson/issues/1112) `gradient` Numerical gradient.
- [#1126](http://github.com/nelson-lang/nelson/issues/1126) `isspace` Determine which characters are space characters.

### Changed

- [#1110](http://github.com/nelson-lang/nelson/issues/1110) Eigen master branch (352ede96e4c331daae4e1be9a5f3f50fff951b8d) ready to use.
- [#1134](http://github.com/nelson-lang/nelson/issues/1134) [CI] MacOS X Ventura disabled (Install dependencies fails)
- `struct` supports scalar string array as field name.

### Fixed

- [#1110](http://github.com/nelson-lang/nelson/issues/1110) add help about build and use C/C++ on fly.
- [#1124](http://github.com/nelson-lang/nelson/issues/1124) unexpected result from long statements on Multiple Lines.
- [#1127](http://github.com/nelson-lang/nelson/issues/1127) Nelson could crash if an mxn characters is displayed in the variable browser.
- [#1125](http://github.com/nelson-lang/nelson/issues/1125) Unsupported colon operator with char operands.
- Missing 'zoom in', 'zoom out' icons for help viewer in linux package.
- `gcd` without argument returned wrong error message.
- [#1133](http://github.com/nelson-lang/nelson/issues/1133) [CI] [ARCH LINUX] Warning about MPI.

## 1.2.0 (2024-02-25)

### Added
Expand Down
2 changes: 2 additions & 0 deletions en/data_structures/struct.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,8 @@ date_st.year = 1974)
| ------- | --------------- |
| 1.0.0 | initial version |

|1.3.0|Scalar String allowed as field name.|

## Author

Allan CORNET
51 changes: 51 additions & 0 deletions en/dynamic_link/1_c_cpp_build_on_fly.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# Build C/C++ code on the fly

Build C/C++ code on the fly

## Description

<p>Nelson provides a cross-platform command-line tool written in Nelson for compiling native addon modules for Nelson.</p>
<p>It takes away the pain of dealing with the various differences in build platforms.</p>

## Example

```matlab
if ispc() && ~havecompiler()
configuremsvc()
end
C_CONTENT = ["double";
"functionC(double x)";
"{";
" return x + 8;";
"}"];
DEST_DIR = [tempdir(), 'example_C'];
mkdir(DEST_DIR);
C_DEST_FILE = [tempdir(), 'example_C/demo.c'];
filewrite(C_DEST_FILE, C_CONTENT)
dlgeneratemake(DEST_DIR, 'C_DEMO', {C_DEST_FILE}, {DEST_DIR})
[res, message] = dlmake(DEST_DIR)
lib = dlopen([DEST_DIR, '/C_DEMO', getdynlibext()])
c = dllibinfo(lib)
f = dlsym(lib, 'functionC', 'double', {'double'});
R = dlcall(f, 3) % 8 + 3
dlclose(lib)
```

<img src="build_c_cpp_on_fly_DE9671CD.png" align="middle"/>

## See also

[configuremsvc](configuremsvc.md), [dlgeneratemake](dlgeneratemake.md), [dlmake](dlmake.md), [dlopen](dlopen.md), [dllibinfo](dllibinfo.md), [dlsym](dlsym.md), [dlcall](dlcall.md).

## History

| Version | Description |
| ------- | --------------- |
| 1.2.0 | initial version |

## Author

Allan CORNET
File renamed without changes.
3 changes: 2 additions & 1 deletion en/dynamic_link/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ Dynamic link

By default, Nelson does not try to detect a C/C++ compiler on Windows. Do not forget to run 'configuremsvc' or 'configuremingw' once.

- [Build C/C++ code on the fly](1_c_cpp_build_on_fly.md) - Build C/C++ code on the fly
2_supported_compilers.md Supported C/C++ compilers
- [cmake](cmake.md) - call CMake tool
- [configuremingw](configuremingw.md) - Configure Nelson to use MinGW as default C compiler
- [configuremsvc](configuremsvc.md) - Configure Nelson to use visual studio as default compiler
Expand Down Expand Up @@ -37,5 +39,4 @@ By default, Nelson does not try to detect a C/C++ compiler on Windows. Do not fo
- [libpointer_used](libpointer_used.md) - Returns list of current used libpointer handle.
- [loadcompilerconf](loadcompiler.md) - load compiler configuration.
- [removecompilerconf](removecompilerconf.md) - Remove used compiler configuration (on Windows).
supported_compilers.md Supported C/C++ compilers
- [vswhere](vswhere.md) - Locate Visual Studio 2017, 2019 and newer installations
3 changes: 2 additions & 1 deletion en/dynamic_link/SUMMARY.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
- [dynamic_link](README.md)
- [Build C/C++ code on the fly](1_c_cpp_build_on_fly.md)
- [Supported C/C++ compilers](2_supported_compilers.md)
- [cmake](cmake.md)
- [configuremingw](configuremingw.md)
- [configuremsvc](configuremsvc.md)
Expand Down Expand Up @@ -30,5 +32,4 @@
- [libpointer_used](libpointer_used.md)
- [loadcompilerconf](loadcompiler.md)
- [removecompilerconf](removecompilerconf.md)
- [Supported C/C++ compilers](supported_compilers.md)
- [vswhere](vswhere.md)
Binary file added en/dynamic_link/build_c_cpp_on_fly_DE9671CD.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion en/dynamic_link/configuremingw.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ configuremingw('c:/mingw')

## See also

[Supported C/C++ compilers](supported_compilers.md), [havecompiler](havecompiler.md), [configuremsvc](configuremsvc.md).
[Supported C/C++ compilers](2_supported_compilers.md), [havecompiler](havecompiler.md), [configuremsvc](configuremsvc.md).

## History

Expand Down
2 changes: 1 addition & 1 deletion en/dynamic_link/configuremsvc.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ configuremsvc()

## See also

[Supported C/C++ compilers](supported_compilers.md), [havecompiler](havecompiler.md).
[Supported C/C++ compilers](2_supported_compilers.md), [havecompiler](havecompiler.md).

## History

Expand Down
2 changes: 1 addition & 1 deletion en/dynamic_link/vswhere.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ vswhere()

## See also

[havecompiler](havecompiler.md).
[havecompiler](havecompiler.md), [Supported C/C++ compilers](2_supported_compilers.md).

## History

Expand Down
1 change: 1 addition & 0 deletions en/elementary_functions/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,7 @@ elementary functions
- [rosser](rosser.md) - Classic symmetric eigenvalue test problem.
- [rot90](rot90.md) - Rotate array 90 degrees.
- [round](round.md) - Round to nearest integer
- [shiftdim](shiftdim.md) - Shift array dimensions
- [sign](sign.md) - Find the sign function of a number.
- [size](size.md) - Size of an object.
- [sqrt](sqrt.md) - Square root.
Expand Down
1 change: 1 addition & 0 deletions en/elementary_functions/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@
- [rosser](rosser.md)
- [rot90](rot90.md)
- [round](round.md)
- [shiftdim](shiftdim.md)
- [sign](sign.md)
- [size](size.md)
- [sqrt](sqrt.md)
Expand Down
47 changes: 47 additions & 0 deletions en/elementary_functions/shiftdim.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# shiftdim

Shift array dimensions

## Syntax

- B = shiftdim(A, n)
- B = shiftdim(A)
- [B, m] = shiftdim(A)

## Input argument

- A - Input array: vector, matrix or multidimensional array.
- n - Number of positions: integer value.

## Output argument

- B - vector, matrix, or multidimensional array.
- m - Number of dimensions removed: non-negative integer.

## Description

<p><b>shiftdim(A, n)</b> reorganizes the dimensions of an array A by n positions.</p>
<p>Specifically, when n is a positive integer, it shifts the dimensions to the left, and when n is a negative integer, it shifts the dimensions to the right.</p>

## Example

```matlab
A = rand(2, 3, 4);
size(A)
% Shift the dimensions of array A by 2 positions to the left
B = shiftdim(A, 2)
```

## See also

[permute](permute.md), [reshape](reshape.md), [squeeze](round.md).

## History

| Version | Description |
| ------- | --------------- |
| 1.3.0 | initial version |

## Author

Allan CORNET
2 changes: 2 additions & 0 deletions en/graphics/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ graphics functions
- [colorbar](colorbar.md) - Colorbar showing color scale.
- [colormap](colormap.md) - View and set current colormap.
- [colstyle](colstyle.md) - Parse color and style from string.
- [contour](contour.md) - Contour plot of matrix
- [contour3](contour3.md) - Contour 3D plot of matrix
- [cool](cool.md) - Cool colormap array.
- [copper](copper.md) - Copper colormap array.
- [copygraphics](copygraphics.md) - Copy plot to clipboard.
Expand Down
2 changes: 2 additions & 0 deletions en/graphics/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@
- [colorbar](colorbar.md)
- [colormap](colormap.md)
- [colstyle](colstyle.md)
- [contour](contour.md)
- [contour3](contour3.md)
- [cool](cool.md)
- [copper](copper.md)
- [copygraphics](copygraphics.md)
Expand Down
Loading

0 comments on commit 70f2d06

Please sign in to comment.