Menu
  • HOME
  • TAGS

How to use ILMath.invert function?

c#,arrays,matrix,ilnumerics,invert

How to use ILMath.invert ILMath.invert does not invert matrices but the elements of an array! See the solution below if you need to invert a matrix. Here is the literal answer to your question. Suppose, we have a matrix A: ILArray<double> A = ILMath.counter(2,3); > A > <Double> [2,3] >...

How to calculate the inverse of a matrix with ILNumerics ILMath in c#?

c#,ilnumerics

Simply use the nuget package 'ILNumerics'. This will import all needed binaries into your project and copy the files to the output directory. @Edit: the nuget packages are no longer maintained. The new ILNumerics Ultimate VS solves the problem even better by installing the binaries right into your System32 folder....

ILMath function to arrange values given start, end and step size?

arrays,math,ilnumerics

Try: ILArray<double> A = ILMath.vec<double>(10.0,0.5,15.0); More array creation functions can be found in the Array section of the documentation. A number of quick reference charts is also available: ILNumerics' getting started: http://ilnumerics.net/media/oldres/img/ILNumerics_ArraysUsage.pdf ILNumerics for Matlab users: http://ilnumerics.net/media/oldres/img/ILNumerics4MatlabUsers.pdf Last but not least the class reference for all ILMath functions: http://ilnumerics.net/apidoc/?topic=html/Methods_T_ILNumerics_ILMath.htm...

Plot 3D with specific x and y ILNumerics

arrays,plot,3d,axis,ilnumerics

Well, it was simply. I already got the answer. new ILSurface(plot[":;:;2"],plot[":;:;0"],plot[":;:;1"]) ...

Is there any limitation of size in ILArray? (ILNumerics)

arrays,matrix,overflow,ilnumerics

The array you are trying to create would take up 93GB of memory. Handling such arrays as a whole is (still) not feasible (today). I suggest you split up your data in some way. As a rule of thumb you can handle arrays up to a quarter of the available...

Multiple PlotCube synchronization

ilnumerics

Use ILPlotCube.Limits instead! The ILLimits class manages the axis limits for a plotcube. It provides the Changed event. You can use that in order to reflect changes to other plot cubes. private void ilPanel1_Load_1(object sender, EventArgs e) { // just some data ILArray<float> A1 = new float[] { 1,4,3,2,5 };...

ILArrays as input arguments to BeginInvoke delegate

c#,multithreading,lambda,ilnumerics

The problem is that the compiler will create an anonymous class for you behind the scenes. It is needed to capture the variables used in the lambda expression. And for that class the compiler will not follow the ILNumerics function rules. This is why you see premature disposals. The answer...

How to add ILContourPlot to custom Z-axis location in ILPlotCube

ilnumerics

Contour plots in ILNumerics are regular scene graph objects - just like evey other plot. You can transform them in arbitray ways using regular group objects: ILArray<float> A = ILMath.tosingle(ILSpecialData.terrain); ilPanel1.Scene.Add(new ILPlotCube(twoDMode: false) { new ILGroup(translate: new Vector3(0,0,10)) { new ILContourPlot(A["0:50;0:50"]) }, new ILGroup(translate: new Vector3(0,0,5)) { new ILContourPlot(A["50:100;50:100"],lineWidth: 3)...

How to change ILNumerics plot marker type?

c#,ilnumerics

Markers (ILMarker) and 'points' (ILPoints) are very different beasts. Markers are much more flexible configurable, mostly look nicer and are much more expensive to render. They commonly consist out of a border (line shape) and a filled area (triangles shape) and come with a number of predefined looks. ILPoints on...

How to filter for specific objects in a HDF5 file

c#,python,hdf5,ilnumerics,hdf

H5Group provides the Find<T> method which does just what you are looking for. It iterates over the whole subtree, taking arbitrary predicates into account: var matches = f.Find<H5Dataset>( predicate: ds => ds.Attributes.Any(a => a.Name.Contains("att"))); Why not make your function return 'ILCell' instead of a 'List'? This more nicely integrates into...

How to set common datarange for multiple ILContourPlot?

ilnumerics

You should use the overload of ILCountourPlot which takes a collection of contour level specifications and define each level explicitely: ILArray<float> A = ILMath.tosingle(ILSpecialData.terrain); panel.Scene.Camera.Add(new ILPlotCube("SO", twoDMode: false) { Children = { new ILGroup(translate: new Vector3(0,0,10)){ new ILContourPlot(A["0:250;0:250"], new List<ContourLevel>() { new ContourLevel() { Value = 1000, LineWidth = 3,...

Make a solid box (cube) in ILNumerics

c#,3d,plot,cube,ilnumerics

Most Simple Solution In the (barely documented) ILNumerics.Drawing.Shapes class you can find an UnitCubeFilled shape and its wireframe version: private void ilPanel1_Load(object sender, EventArgs e) { ilpanel1.Scene.Camera.Add(Shapes.UnitCubeFilled); ilpanel1.Scene.Camera.Add(Shapes.UnitCubeWireframe); ilpanel1.Scene.First<ILTriangles>().AutoNormals = false; ilpanel1.Configure(); } Note, all edges of the cube share the only 8 vertices in the shape. Therefore, the lighting...

Operating over C# ILNumerics Vector

c#,vector,linear-algebra,ilnumerics

I'm a bit unsure if I got this correctly. But you certainly can modify ILArray. Just make sure, you understand the basics for working with ILArray and how to handle the different array types. Especially, prevent from using var in conjunction with ILArray! Read about the core array features: http://ilnumerics.net/docs-core.html...

Why ploting data in ILNumerics produce the result that is not symmetry? (2D Plot)

matlab,model,plot,2d,ilnumerics

Both plots are different because they are of different type. The matlab one is an imagesc, the ILNumerics one is a surface. Imagesc plots will be available for ILNumerics with the next release.

ILNumerics equivalent of MatLab/Octave statement

c#,matlab,octave,nan,ilnumerics

Just use x[isnan(x)] = 0; This is directly equivalent to Matlabs syntax. Your first attempt suggests that you want to seperate non-NaN values from NaNs? If so, please clarify. ...

Support for basic datatypes in H5Attributes?

ilnumerics

ILNumerics internally uses the official HDF5 libraries from the HDF Group, of course. H5Attributes in HDF5 correspond to datasets with the limitation of being not capable of partial I/O. Besides that, H5Attributes are plain arrays! Support for basic (scalar) element types is given by assuming the array stored to be...