# James Tursa

Interested in external applications, mex & engine applications with Fortran, C, C++, etc, particularly in the areas of speed improvement and memory management efficiencies.

**Statistics**

RANK**18**

of 284,466

REPUTATION**13,437**

CONTRIBUTIONS

**21** Questions

**4,224** Answers

ANSWER ACCEPTANCE **
42.86%
**

VOTES RECEIVED**2,532**

RANK**163** of 19,211

REPUTATION**7,492**

AVERAGE RATING**4.60**

CONTRIBUTIONS**32** Files

DOWNLOADS **153**

ALL TIME DOWNLOADS**70321**

CONTRIBUTIONS**0 Posts**

CONTRIBUTIONS**0** Public Channels

AVERAGE RATING

CONTRIBUTIONS**0** Highlights

AVERAGE NO. OF LIKES

**Content Feed**

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 ...

2 days ago | 0

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. ...

13 days ago | 3

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( ...

17 days ago | 0

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...

26 days ago | 0

| accepted

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 month ago | 0

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 month ago | 1

| accepted

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))...

2 months ago | 0

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...

2 months ago | 0

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];...

2 months ago | 2

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...

2 months ago | 0

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...

2 months 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...

2 months ago | 1 answer | 1

### 1

answerQuestion

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...

3 months ago | 2 answers | 0

### 2

answersA 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 ...

3 months ago | 1

| accepted

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...

3 months ago | 3

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...

4 months ago | 0

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 ...

4 months ago | 1

| accepted

Question

Incorrect datetime UTCLeapSeconds conversion

I am working with leap second data, and as part of the calculations I did this for a particular leap second: dt1 = datetime(197...

4 months ago | 1 answer | 0

### 1

answerHow to add rows containing zeros to a matrix

E.g., one way using the end syntax: my_matrix = reshape(1:12,3,4) n = 4; % number of rows to append my_matrix(end+n,1) = 0 B...

4 months ago | 0

error using tranpose (recieving permute error )

If you are trying to transpose the initial 2D pages of your variable, you can do this: pagetranspose(featvales) Or this: d = ...

4 months ago | 0

Error L2 is not defined

You have a fundamental problem with your code. You have a 2nd order ODE, which means there will be two states you need to carry ...

4 months ago | 0

Use Indexing for more than 1 dimension of array simultaneously

Yet another way using linear indexing (showing what sub2ind( ) does internally): matrix = rand(10, 3); idx = [1; 2; 2; 3; 1; 2...

4 months ago | 0

Indexing and turning into column vector

Not really. It's going to be a two-step process no matter how you do it (without resorting to a mex routine, which isn't worth i...

4 months ago | 0

| accepted

how to make a single array out of 2 arrays

Just use indexing. E.g., odd=[0.4357, 0.78208,0.6245] even=[0.48004,1.29188,1.54668,0.82376] both(1:2:5) = odd both(2:2:8) =...

4 months ago | 0

| accepted

Difference between 2 orientations

I would do your method #3 involving quaternions. This would give you the "smallest" rotation between the two attitudes. But you ...

5 months ago | 1

Implicit casting overhead from real to complex when multiplying two matrices

This is not a natively supported operation (to use your terms). Yes, the real matrix must be first upconverted to a complex matr...

5 months ago | 1

why do we initialize any vector or matrices with zero.

If you know you will be filling in the variable elements downstream anyway, it would be faster to just allocate the memory and n...

5 months ago | 0

Complex matrix multiplication with pagemtimes

This really has nothing to do with the maturity of MATLAB ... every language that uses BLAS routines in the background will have...

5 months ago | 2

| accepted

Matrix power vs for loop

Note that the A^endtime method is probably going to be more accurate as endtime gets larger. The loop method can have a tendancy...

5 months ago | 0

error: matrix dimensions must agree

I would presume you may need element-wise operators. Try this: func = @(K_a,freq)(-K_a./(tan(2*pi*freq*h.*(1 + 0.19./((K_a/60 +...

5 months ago | 0