Answered

quat2angle / atan2 strange quadrant change when calculating angle

You don't show us your code, but in general I would note that angle changes like this are sometimes the result of whole quaterni...

quat2angle / atan2 strange quadrant change when calculating angle

You don't show us your code, but in general I would note that angle changes like this are sometimes the result of whole quaterni...

8 months ago | 0

Answered

Active rotation with quaternions: from initial orientation given with Euler angles get the new orientation after an active rotation described by the qr quaternion.

Yes, for your convention q' = q * qr is mathematically correct. But note that this formula only works for certain quaternion co...

Active rotation with quaternions: from initial orientation given with Euler angles get the new orientation after an active rotation described by the qr quaternion.

Yes, for your convention q' = q * qr is mathematically correct. But note that this formula only works for certain quaternion co...

8 months ago | 1

| accepted

Question

Conjugate of Symbolic Root doesn't change anything

Reference question first asked here: https://stackoverflow.com/questions/78010011/matlab-bug-with-root-and-conj Basically, the...

8 months ago | 2 answers | 1

Answered

sparse matrix entries are not displayed correctly

I finally finished my sparse matrix integrity checker. You can find it in the FEX under the name SAREK (I think you will be able...

sparse matrix entries are not displayed correctly

I finally finished my sparse matrix integrity checker. You can find it in the FEX under the name SAREK (I think you will be able...

9 months ago | 0

Answered

the tranpose of transpose doed not equals the original matrix

I finally finished my sparse matrix integrity checker. You can find it in the FEX under the name SAREK (I think you will be able...

the tranpose of transpose doed not equals the original matrix

I finally finished my sparse matrix integrity checker. You can find it in the FEX under the name SAREK (I think you will be able...

9 months ago | 2

Answered

Help with state representation of my 3-mass 2-spring system

The k terms in the equations above appear to be non-linear. Your A matrix doesn't account for the cubic parts.

Help with state representation of my 3-mass 2-spring system

The k terms in the equations above appear to be non-linear. Your A matrix doesn't account for the cubic parts.

10 months ago | 0

Answered

Calculate angles correctly between two vectors using the dot product.

Also see this related link for a robust method using atan2 that can recover small angles: https://www.mathworks.com/matlabcentr...

Calculate angles correctly between two vectors using the dot product.

Also see this related link for a robust method using atan2 that can recover small angles: https://www.mathworks.com/matlabcentr...

10 months ago | 0

Answered

How can I make memory persistent between calls to a MEX-file in MATLAB?

So, the accepted answer has bugs. Namely: They don't include the header for memcpy They don't check the input argument properl...

How can I make memory persistent between calls to a MEX-file in MATLAB?

So, the accepted answer has bugs. Namely: They don't include the header for memcpy They don't check the input argument properl...

10 months ago | 0

Answered

Index in position 1 exceeds array bounds (must not exceed 8).

Here is how to debug these types of errors: Type the following at the command prompt: dbstop if error Then run your code. Whe...

Index in position 1 exceeds array bounds (must not exceed 8).

Here is how to debug these types of errors: Type the following at the command prompt: dbstop if error Then run your code. Whe...

10 months ago | 0

Answered

matlab mex in-place editing via "mxUnshareArray" or similar functionality

So, MATLAB has never officially supported modifying input variables in-place in a mex routine. There are potential side effects ...

matlab mex in-place editing via "mxUnshareArray" or similar functionality

So, MATLAB has never officially supported modifying input variables in-place in a mex routine. There are potential side effects ...

11 months ago | 0

Answered

Static methods are unnecessary, right?

I use Constant Properties and Static Methods all the time in classes I am creating. In particular, when I am developing a group...

Static methods are unnecessary, right?

I use Constant Properties and Static Methods all the time in classes I am creating. In particular, when I am developing a group...

11 months ago | 1

Answered

Speed of the abs function

Although I applaud your thinking about this problem, this level of optimization is hard to achieve with a language such as MATLA...

Speed of the abs function

Although I applaud your thinking about this problem, this level of optimization is hard to achieve with a language such as MATLA...

11 months ago | 2

| accepted

Answered

How would I write these in MATLAB

Depends on what those subscripts mean. E.g., maybe this y41 = -(x41^1.5 * cos(x41)^3) + 40; y42 = x42 * sin(x42^2); or this ...

How would I write these in MATLAB

Depends on what those subscripts mean. E.g., maybe this y41 = -(x41^1.5 * cos(x41)^3) + 40; y42 = x42 * sin(x42^2); or this ...

11 months ago | 0

| accepted

Answered

How to find roots of a quartic function with unknown constant coefficients?

You can look here: https://en.wikipedia.org/wiki/Quartic_function But the nature of the roots is going to depend on the value ...

How to find roots of a quartic function with unknown constant coefficients?

You can look here: https://en.wikipedia.org/wiki/Quartic_function But the nature of the roots is going to depend on the value ...

11 months ago | 0

Answered

What calendar system does MATLAB use?

I know this is an old post, but the accepted answer is a bit misleading. MATLAB certainly does use a specific calendar system. ...

What calendar system does MATLAB use?

I know this is an old post, but the accepted answer is a bit misleading. MATLAB certainly does use a specific calendar system. ...

12 months ago | 3

Answered

Rungekuttan for a system of 2 DOE functions

It would be better to have a single state vector for your solution so that you can easily compare your results to MATLAB ode45( ...

Rungekuttan for a system of 2 DOE functions

It would be better to have a single state vector for your solution so that you can easily compare your results to MATLAB ode45( ...

12 months ago | 0

Answered

How much data does an array take?

The data is held in contiguous memory, so yes for a full real double an NxN matrix would take 8*N^2 bytes for the data. Then the...

How much data does an array take?

The data is held in contiguous memory, so yes for a full real double an NxN matrix would take 8*N^2 bytes for the data. Then the...

12 months ago | 0

| accepted

Answered

Multiply matrices in cell array by another matrix

You may be stuck with the loop. There are ways to rearrange and stack things so that you can do everything in a single matrix m...

Multiply matrices in cell array by another matrix

You may be stuck with the loop. There are ways to rearrange and stack things so that you can do everything in a single matrix m...

1 year ago | 0

Answered

Reading a large binary file

Try data = fread(fd, '*int16'); When you use 'int16' for the type to read, MATLAB reads as int16 and then converts to double (...

Reading a large binary file

Try data = fread(fd, '*int16'); When you use 'int16' for the type to read, MATLAB reads as int16 and then converts to double (...

1 year ago | 1

| accepted

Answered

Incorrect Dimensions for matrix multiplication

Because you are using matrix operators instead of element-wise operators. Try this: Rtf=(cosh(m.*Lf)+(h./(m.*Kf)).*sinh(m.*Lf))...

Incorrect Dimensions for matrix multiplication

Because you are using matrix operators instead of element-wise operators. Try this: Rtf=(cosh(m.*Lf)+(h./(m.*Kf)).*sinh(m.*Lf))...

1 year ago | 0

Answered

Why is pow2() slow? Fastest way?

Another way is just to add d to the exponent bits. Probably fastest to do this in a mex routine where edge checking can easily b...

Why is pow2() slow? Fastest way?

Another way is just to add d to the exponent bits. Probably fastest to do this in a mex routine where edge checking can easily b...

1 year ago | 0

Answered

Values are getting converted to double automatically.

Here is what I get just displaying the character string. I inserted brackets [ ] for concatenation: ab=[0.5,0.75,1,1.25,1.5,2];...

Values are getting converted to double automatically.

Here is what I get just displaying the character string. I inserted brackets [ ] for concatenation: ab=[0.5,0.75,1,1.25,1.5,2];...

1 year ago | 2

Answered

help with parallelization of matrix operations

Both of these operations can be multi-threaded in the background, but this kind of timing test is not straightforward to do beca...

help with parallelization of matrix operations

Both of these operations can be multi-threaded in the background, but this kind of timing test is not straightforward to do beca...

1 year ago | 0

Answered

Field II kidney example does not work due to "Requested array exceeds the maximum possible variable size." error

At first glance this is the obvious problem in the original source code: The dimensions array needs to be the proper integer si...

Field II kidney example does not work due to "Requested array exceeds the maximum possible variable size." error

At first glance this is the obvious problem in the original source code: The dimensions array needs to be the proper integer si...

1 year ago | 0

| accepted

Question

Is there a classdef startup/initializer method?

When a classdef is first loaded into memory (via object instance creation or static method call etc.), is there a way to get a s...

1 year ago | 1 answer | 1

Question

How to update leap seconds

The current version of MATLAB has a function to give you the leap second information that it is using. E.g., [T,vers] = leapsec...

1 year ago | 2 answers | 0

Answered

A MEX solution to split classdef-defined object arrays into cells

You need to use mxGetProperty( ) to get at the properties of a classdef object. And since this returns a deep copy, no need for ...

A MEX solution to split classdef-defined object arrays into cells

You need to use mxGetProperty( ) to get at the properties of a classdef object. And since this returns a deep copy, no need for ...

1 year ago | 1

| accepted

Answered

Why does accessing a multi-dimensional array with fewer indices than its total dimensions not result in an error in MATLAB R2022b?

The accepted answer is misleading. When you access a multi-dimensional array with fewer indexes than its total dimensions, MATLA...

Why does accessing a multi-dimensional array with fewer indices than its total dimensions not result in an error in MATLAB R2022b?

The accepted answer is misleading. When you access a multi-dimensional array with fewer indexes than its total dimensions, MATLA...

1 year ago | 3

Answered

Create Mex files for Matlab, from .FOR files of Fortran

So, I haven't had access to a Fortran compiler in over 10 years. And as a result I haven't been maintaining any of my Fortran F...

Create Mex files for Matlab, from .FOR files of Fortran

So, I haven't had access to a Fortran compiler in over 10 years. And as a result I haven't been maintaining any of my Fortran F...

1 year ago | 0

Answered

Unusal error "Current use of the variable is inconsistent with its previous use or definition".

See how the +b is purple? That means MATLAB thinks you are invoking a as a function with +b as a character string input. Hence ...

Unusal error "Current use of the variable is inconsistent with its previous use or definition".

See how the +b is purple? That means MATLAB thinks you are invoking a as a function with +b as a character string input. Hence ...

1 year ago | 1

| accepted