Main Content

ones

Create quaternion array with real parts set to one and imaginary parts set to zero

Since R2023b

Description

quatOnes = ones("quaternion") returns a scalar quaternion with the real part set to 1 and the imaginary parts set to 0.

Given a quaternion of the form Q=a+bi+cj+dk, a quaternion one is defined as Q=1+0i+0j+0k.

example

quatOnes = ones(n,"quaternion") returns an n-by-n quaternion matrix with the real parts set to 1 and the imaginary parts set to 0.

example

quatOnes = ones(sz,"quaternion") returns an array of quaternion ones where the size vector, sz, defines size(qOnes).

Example: ones([1,4,2],"quaternion") returns a 1-by-4-by-2 array of quaternions with the real parts set to 1 and the imaginary parts set to 0.

example

quatOnes = ones(sz1,...,szN,"quaternion") returns a sz1-by-...-by-szN array of ones where sz1,…,szN indicates the size of each dimension.

example

quatOnes = ones(___,"like",prototype,"quaternion") specifies the underlying class of the returned quaternion array to be the same as the underlying class of the quaternion prototype.

example

Examples

collapse all

Create a quaternion scalar one.

quatOnes = ones("quaternion")
quatOnes = quaternion
     1 + 0i + 0j + 0k

Create an n-by-n matrix of quaternion ones.

n = 3;
quatOnes = ones(n,"quaternion")
quatOnes = 3x3 quaternion array
     1 + 0i + 0j + 0k     1 + 0i + 0j + 0k     1 + 0i + 0j + 0k
     1 + 0i + 0j + 0k     1 + 0i + 0j + 0k     1 + 0i + 0j + 0k
     1 + 0i + 0j + 0k     1 + 0i + 0j + 0k     1 + 0i + 0j + 0k

Create a multidimensional array of quaternion ones by defining array dimensions in order. In this example, you create a 3-by-1-by-2 array. You can specify dimensions using a row vector or comma-separated integers. Specify the dimensions using a row vector and display the results:

dims = [3,1,2];
quatOnesSyntax1 = ones(dims,"quaternion")
quatOnesSyntax1 = 3x1x2 quaternion array
quatOnesSyntax1(:,:,1) = 

     1 + 0i + 0j + 0k
     1 + 0i + 0j + 0k
     1 + 0i + 0j + 0k


quatOnesSyntax1(:,:,2) = 

     1 + 0i + 0j + 0k
     1 + 0i + 0j + 0k
     1 + 0i + 0j + 0k

Specify the dimensions using comma-separated integers, and then verify the equivalency of the two syntaxes:

quatOnesSyntax2 = ones(3,1,2,"quaternion");
isequal(quatOnesSyntax1,quatOnesSyntax2)
ans = logical
   1

A quaternion is a four-part hyper-complex number used in three-dimensional rotations and orientations. You can specify the underlying data type of the parts as single or double. The default is double.

Create a quaternion array of ones with the underlying data type set to single.

quatOnes = ones(2,"like",single(1),"quaternion")
quatOnes = 2x2 quaternion array
     1 + 0i + 0j + 0k     1 + 0i + 0j + 0k
     1 + 0i + 0j + 0k     1 + 0i + 0j + 0k

Verify the underlying class using the classUnderlying function.

classUnderlying(quatOnes)
ans = 
'single'

Input Arguments

collapse all

Size of square quaternion matrix, specified as an integer value.

If n is zero or negative, then quatOnes is returned as an empty matrix.

Example: ones(4,"quaternion") returns a 4-by-4 matrix of quaternions with the real parts set to 1 and the imaginary parts set to 0.

Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Output size, specified as a row vector of integer values. Each element of sz indicates the size of the corresponding dimension in quatOnes. If the size of any dimension is 0 or negative, then quatOnes is returned as an empty array.

Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Quaternion prototype, specified as a quaternion object.

Example: ones(2,"like",quat,"quaternion") returns a 2-by-2 matrix of quaternions with the same underlying class as the prototype quaternion, quat.

Size of each dimension, specified as two or more comma-separated integers. If the size of any dimension is 0 or negative, then quatOnes is returned as an empty array.

Example: ones(2,3,"quaternion") returns a 2-by-3 matrix of quaternions with the real parts set to 1 and the imaginary parts set to 0.

Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Output Arguments

collapse all

Quaternion ones, returned as a quaternion object or an array of quaternion objects.

Given a quaternion of the form Q=a+bi+cj+dk, a quaternion one is defined as Q=1+0i+0j+0k.

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.

Version History

Introduced in R2023b

See Also

Functions

Objects