.TRANSFORM.Math.linspace_2Dedge

Information

For example:

For x1=0, x2=10, x3=-5, x4 = 5, n1=5, and n2=3.

The returned matrix is y[5,3]

-2.5

0

2.5

-5

1.25

5

-5

2.5

5

-5

3.75

5

2.5

10

7.5




Notice that the center edge values are consistent with the specified input. The corner vlaues are linear interpolations of the adjacent values.


The exposeState options either hold the edge value (=true) or ignore the edge value (=false) and apply linear interpolation appropriately. This capability was made to assist with initialization of discritized models.

With the same input as above but with exposeState={true,false,true,false} the result is:

0

0

2.5

-1.25

1.5625

5

0

2.5

5

1.25

3.4375

5

2.5

5

5

Interface

function linspace_2Dedge
  extends TRANSFORM.Icons.Function;
  input Real x1 "Edge value x[1,:]";
  input Real x2 "Edge value x[end,:]";
  input Real x3 "Edge value x[:,1]";
  input Real x4 "Edge value x[:,end]";
  input Integer n1 "Number of rows";
  input Integer n2 "Number of columns";
  input Boolean exposeState[4] = {true, true, true, true} "= true then set edge to value specified else linspace_1D";
  output Real y[n1, n2] "2-D matrix";
end linspace_2Dedge;

Generated at 2024-11-22T19:25:38Z by OpenModelicaOpenModelica 1.24.2 using GenerateDoc.mos