File: t_Matrix_slice.py

package info (click to toggle)
openturns 1.24-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 66,204 kB
  • sloc: cpp: 256,662; python: 63,381; ansic: 4,414; javascript: 406; sh: 180; xml: 164; yacc: 123; makefile: 98; lex: 55
file content (85 lines) | stat: -rwxr-xr-x 2,257 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
#! /usr/bin/env python

import openturns as ot

# We create an empty Matrix
N = 10
d = 5

matrices = [ot.Matrix(N, d), ot.ComplexMatrix(N, d)]
for matrix in matrices:
    # We populate the empty sample with numerous data
    for i in range(matrix.getNbRows()):
        for j in range(matrix.getNbColumns()):
            matrix[i, j] = 100.0 * (j + 1) + i
    print("matrix=", str(matrix))

    # We try to slice the sample

    # Reading slicing

    # case #0 [slice]
    print("rslice[:]=", matrix[:])
    print("rslice[2:4]=", matrix[2:4])
    print("rslice[1:8:2]=", matrix[1:8:2])

    # case #1 [slice/slice]
    print("rslice[:,:]=", matrix[:, :])
    print("rslice[2:4,2:4]=", matrix[2:4, 2:4])
    print("rslice[1:8:2,1:5:3]=", matrix[1:8:2, 1:5:3])

    # case #2 [slice/index]
    print("rslice[:,3]=", matrix[:, 3])
    print("rslice[2:7:2,3]=", matrix[2:7:2, 3])

    # case #3 [index/slice]
    print("rslice[3,:]=", matrix[3, :])
    print("rslice[3,1:4:2]=", matrix[3, 1:4:2])

    # case #4 [index/index]
    print("rslice[3,4]=", matrix[3, 4])

    # Writing slice

    # case #0 [slice]
    matrix2 = matrix
    matrix2[:] = matrix[:]
    print("wrslice[:]=", matrix2)
    matrix2 = matrix
    matrix2[2:4] = matrix[2:4]
    print("wslice[2:4]=", matrix2)
    matrix2 = matrix
    matrix2[1:8:2] = matrix[1:8:2]
    print("wslice[1:8:2]=", matrix2)

    # case #1 [slice/slice]
    matrix2 = matrix
    matrix2[:, :] = matrix[:, :]
    print("wrslice[:,:]=", matrix2)
    matrix2 = matrix
    matrix2[2:4, 2:4] = matrix[2:4, 2:4]
    print("wslice[2:4,2:4]=", matrix2)
    matrix2 = matrix
    matrix2[1:8:2, 1:5:3] = matrix[1:8:2, 1:5:3]
    print("wslice[1:8:2,1:5:3]=", matrix2)

    # case #2 [slice/index]
    matrix2 = matrix
    matrix2[:, 3] = matrix[:, 3]
    print("wslice[:,3]=", matrix2)
    matrix2 = matrix
    matrix2[2:7:2, 3] = matrix[2:7:2, 3]
    print("wslice[2:7:2,3]=", matrix2)

    # case #3 [index/slice]
    matrix2 = matrix
    matrix2[3, :] = matrix[3, :]
    print("wslice[3,:]=", matrix2)
    matrix2 = matrix
    matrix2[3, 1:4:2] = matrix[3, 1:4:2]
    print("wslice[3,1:4:2]=", matrix2)

    # case #4 [index/index]
    matrix2 = matrix
    matrix2[3, 4] = matrix[3, 4]
    print("wslice[3,4]=", matrix2)