3,205 total contributions since 2007

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

Answered

Single precision matrix multiplication

To illustrate what Matt is saying, a simple timing test: >> format longg >> S = round(10000*single(rand(5000)+rand(5000)*1i));...

Single precision matrix multiplication

To illustrate what Matt is saying, a simple timing test: >> format longg >> S = round(10000*single(rand(5000)+rand(5000)*1i));...

10 hours ago | 2

Answered

Using MEX file with the main program of Fortran code

You would need to turn the PROGRAM line into a MEXFUNCTION line and add some code for getting the MATLAB variable data to/from t...

Using MEX file with the main program of Fortran code

You would need to turn the PROGRAM line into a MEXFUNCTION line and add some code for getting the MATLAB variable data to/from t...

1 day ago | 0

Answered

An explicit Runge Kutta of Fourteen Order code

4th Order RK is here: https://en.wikipedia.org/wiki/Runge%E2%80%93Kutta_methods

An explicit Runge Kutta of Fourteen Order code

4th Order RK is here: https://en.wikipedia.org/wiki/Runge%E2%80%93Kutta_methods

1 day ago | 0

| accepted

Answered

Why does mxSetDoubles crash this MEX file?

This line is crashing your code: mxSetDoubles(plhs[0],a); You can't re-use data pointers this way. You have essentially share...

Why does mxSetDoubles crash this MEX file?

This line is crashing your code: mxSetDoubles(plhs[0],a); You can't re-use data pointers this way. You have essentially share...

1 day ago | 0

Answered

Highest power of 2 that divides n.

In addition to David's comments, you need to do all of the calculations symbolically, so all of these should be sym: 2, i, r.

Highest power of 2 that divides n.

In addition to David's comments, you need to do all of the calculations symbolically, so all of these should be sym: 2, i, r.

4 days ago | 0

| accepted

Answered

Can someone help me convert C++ to Matlab

The += and *= operators behave as follows: total_salary += daily_salary; becomes total_salary = total_salary + daily_salary; ...

Can someone help me convert C++ to Matlab

The += and *= operators behave as follows: total_salary += daily_salary; becomes total_salary = total_salary + daily_salary; ...

10 days ago | 0

Answered

Operands to the || and && operators must be convertible to logical scalar values

Did you mean this for u = 1:height<=u for v = 1:width<=v to be this for u = 1:height for v = 1:width

Operands to the || and && operators must be convertible to logical scalar values

Did you mean this for u = 1:height<=u for v = 1:width<=v to be this for u = 1:height for v = 1:width

10 days ago | 0

| accepted

Answered

find max of vector

Two things. FIrst, you need to initialize pos = 1 before the loop starts. And second, you need to modify your if-test to do tw...

find max of vector

Two things. FIrst, you need to initialize pos = 1 before the loop starts. And second, you need to modify your if-test to do tw...

10 days ago | 0

Answered

How to define an axis based on multiple quaternions?

Assume you have the following: q1 = quaternion from ECI to BODY at time1 (i.e., BODY1 frame) q2 = quaternion from ECI to BODY ...

How to define an axis based on multiple quaternions?

Assume you have the following: q1 = quaternion from ECI to BODY at time1 (i.e., BODY1 frame) q2 = quaternion from ECI to BODY ...

11 days ago | 0

| accepted

Answered

Repeat elements of a vector as matrixes in a multidimensional array.

Another way: m = size of 1st dimension n = size of 2nd dimension v = your row vector result = reshape(repmat(v,m*n,1),m,n,[]...

Repeat elements of a vector as matrixes in a multidimensional array.

Another way: m = size of 1st dimension n = size of 2nd dimension v = your row vector result = reshape(repmat(v,m*n,1),m,n,[]...

11 days ago | 1

Answered

Sorting numbers in an array without sort function

Simply set your "finished" flag depending on whether a swap was done or not. E.g., while true finished = 1; for i=1:s...

Sorting numbers in an array without sort function

Simply set your "finished" flag depending on whether a swap was done or not. E.g., while true finished = 1; for i=1:s...

15 days ago | 0

| accepted

Answered

Need help finding intercept in a polynomial function

Why can't you just find the real roots of f(x)-600? What am I missing here?

Need help finding intercept in a polynomial function

Why can't you just find the real roots of f(x)-600? What am I missing here?

15 days ago | 0

| accepted

Answered

Picking a random row of a matrix

k = randi(size(Y,1)); % the random row index Y(k,:) is the random row

Picking a random row of a matrix

k = randi(size(Y,1)); % the random row index Y(k,:) is the random row

16 days ago | 0

| accepted

Answered

Replacing all elements in a row with zeros, if atleast one of the elements in the row is greater than 1

Another method if you want the replacement in-place: A(any(A>1,2),:) = 0;

Replacing all elements in a row with zeros, if atleast one of the elements in the row is greater than 1

Another method if you want the replacement in-place: A(any(A>1,2),:) = 0;

16 days ago | 0

| accepted

Answered

Large, unused cell aray in memory still slows down calculation significantly

Can you clarify if the above code is included in your timings? For all we know, you are simply showing that creating 44100 sepa...

Large, unused cell aray in memory still slows down calculation significantly

Can you clarify if the above code is included in your timings? For all we know, you are simply showing that creating 44100 sepa...

16 days ago | 0

Answered

ActiveX: how to pass a string array to cst in matlab？

Couple of things you might also try sWidth={'0.5';'1.1';'2.2';'3.3'}; or sWidth={'0.5';'1.1';'2.2';'3.3'}; sWidth = cellfun(...

ActiveX: how to pass a string array to cst in matlab？

Couple of things you might also try sWidth={'0.5';'1.1';'2.2';'3.3'}; or sWidth={'0.5';'1.1';'2.2';'3.3'}; sWidth = cellfun(...

17 days ago | 0

Answered

I am having a lot of trouble with the built in mode function

You have inadvertently created a variable called "mode" that is shadowing the MATLAB mode( ) function. Track down where that is ...

I am having a lot of trouble with the built in mode function

You have inadvertently created a variable called "mode" that is shadowing the MATLAB mode( ) function. Track down where that is ...

17 days ago | 0

| accepted

Answered

Debugging matrix dimensions error

How to debug: Type the following at the MATLAB prompt: dbstop if error Then run your code. When the error occurs, the code wi...

Debugging matrix dimensions error

How to debug: Type the following at the MATLAB prompt: dbstop if error Then run your code. When the error occurs, the code wi...

17 days ago | 0

Answered

Table of Matlab release features

Note that a similar list of version specific mex related features (mxArray changes, API functions, etc.) can be found here in th...

Table of Matlab release features

Note that a similar list of version specific mex related features (mxArray changes, API functions, etc.) can be found here in th...

17 days ago | 3

Answered

Adding a row to an unknown matrix - the row consists of the mean value of the columns of the unknown matrix.

Hints: doc mean The last row of the matrix A is A(end,:). Then ask yourself: What would be the indexing of one row beyond "en...

Adding a row to an unknown matrix - the row consists of the mean value of the columns of the unknown matrix.

Hints: doc mean The last row of the matrix A is A(end,:). Then ask yourself: What would be the indexing of one row beyond "en...

17 days ago | 0

| accepted

Answered

Matrix multiplication using multicore

The matrix multiply operator * calls a highy optimized compiled BLAS library to do this calculation. The BLAS library is alread...

Matrix multiplication using multicore

The matrix multiply operator * calls a highy optimized compiled BLAS library to do this calculation. The BLAS library is alread...

20 days ago | 0

Answered

How to write a function

MATLAB is case sensitive, Output is not the same variable as output. Also, you need to square the Top value, and depending on w...

How to write a function

MATLAB is case sensitive, Output is not the same variable as output. Also, you need to square the Top value, and depending on w...

21 days ago | 0

Answered

How to efficiently do matrix multiplication for 2 specific dimensions of the tensor?

Some FEX options that might work for you (some require an installed C compiler): https://www.mathworks.com/matlabcentral/fileex...

How to efficiently do matrix multiplication for 2 specific dimensions of the tensor?

Some FEX options that might work for you (some require an installed C compiler): https://www.mathworks.com/matlabcentral/fileex...

22 days ago | 0

| accepted

Answered

ode45 given a systems of equations help

First, look over the examples in the ode45 doc. Then figure out the order of your system, and that will tell you the size of yo...

ode45 given a systems of equations help

First, look over the examples in the ode45 doc. Then figure out the order of your system, and that will tell you the size of yo...

24 days ago | 0

Answered

Create an Array of vectors within a for loop

If you want to store the column vectors, you could use cell arrays. E.g., k = 1; for j=0:100:5000; : [PXX{k},F{k...

Create an Array of vectors within a for loop

If you want to store the column vectors, you could use cell arrays. E.g., k = 1; for j=0:100:5000; : [PXX{k},F{k...

24 days ago | 0

| accepted

Answered

ODE matlab, handling variables

You can't do this if the derivative yd depends on k. The ode solvers need to have consistency when calling the derivative funct...

ODE matlab, handling variables

You can't do this if the derivative yd depends on k. The ode solvers need to have consistency when calling the derivative funct...

24 days ago | 0

| accepted

Answered

two body problem using ode45

The RK methods don't match up well with the orbit DE problem because the integration errors tend to be systematic (e.g., always ...

two body problem using ode45

The RK methods don't match up well with the orbit DE problem because the integration errors tend to be systematic (e.g., always ...

24 days ago | 1

Answered

Duffing Oscillator issue. "Keep getting Unable to perform assignment because the left and right sides have a different number of elements."

t is a vector, so your cos(omega*t) is a vector. You need to use cos(omega*t(n)) there.

Duffing Oscillator issue. "Keep getting Unable to perform assignment because the left and right sides have a different number of elements."

t is a vector, so your cos(omega*t) is a vector. You need to use cos(omega*t(n)) there.

24 days ago | 0

Answered

double integration of acceleration data with offset

You put a constant offset into the acceleration, not the position. The result of double integrating a constant is going to be a ...

double integration of acceleration data with offset

You put a constant offset into the acceleration, not the position. The result of double integrating a constant is going to be a ...

24 days ago | 0

| accepted

Answered

Need help verifying code for Euler MEthod, RK2 and RK4

Your biggest problem is that you don't have the differential equations coded correctly. And the main cause of that is because y...

Need help verifying code for Euler MEthod, RK2 and RK4

Your biggest problem is that you don't have the differential equations coded correctly. And the main cause of that is because y...

24 days ago | 0

| accepted