3,182 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

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

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

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

6 hours ago | 0

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

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

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

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

22 hours ago | 0

| accepted

Answered

Numerically Integrating the differential equation below?

You've got two 2nd order DE's, so that means you have a 4th order system (2x2=4) and thus your state vector will contain four el...

Numerically Integrating the differential equation below?

You've got two 2nd order DE's, so that means you have a 4th order system (2x2=4) and thus your state vector will contain four el...

1 day ago | 0

Answered

Generate all possible combinations for the column vectors of a matrix

E.g., >> B = [1;2]; >> n = 3; >> Bcell = arrayfun(@(k)B,1:n,'uni',false); >> C = allcomb(Bcell{:}) Warning: NARGCHK will be...

Generate all possible combinations for the column vectors of a matrix

E.g., >> B = [1;2]; >> n = 3; >> Bcell = arrayfun(@(k)B,1:n,'uni',false); >> C = allcomb(Bcell{:}) Warning: NARGCHK will be...

1 day ago | 1

| accepted

Answered

Removing single quotations from a character array

Your answer does not include the bounding single quotation marks ... that is just a display artifact for how MATLAB prints chara...

Removing single quotations from a character array

Your answer does not include the bounding single quotation marks ... that is just a display artifact for how MATLAB prints chara...

1 day ago | 0

Answered

Help, I don't understand why the output multiplies everything by 1.0e+03

That's just the default way that MATLAB displays the numbers, rather that tacking e+03 to each number individually. You could u...

Help, I don't understand why the output multiplies everything by 1.0e+03

That's just the default way that MATLAB displays the numbers, rather that tacking e+03 to each number individually. You could u...

4 days ago | 0

| accepted

Answered

Error trying to solve 2 Second ODE

Just looking at func.m, it appears you pass in a 4-element x vector, but you only return a 2-element a vector. You need to retu...

Error trying to solve 2 Second ODE

Just looking at func.m, it appears you pass in a 4-element x vector, but you only return a 2-element a vector. You need to retu...

4 days ago | 0

Answered

vpa doesn't seem to work

You are passing a double into vpa( ), so your precision is lost before you even call it. You could pass in a string instead: n ...

vpa doesn't seem to work

You are passing a double into vpa( ), so your precision is lost before you even call it. You could pass in a string instead: n ...

6 days ago | 1

| accepted

Answered

A function to find prime number

Your function doesn't return anything, so when you try to use its output you get an error. Change this: function isPrime(numbe...

A function to find prime number

Your function doesn't return anything, so when you try to use its output you get an error. Change this: function isPrime(numbe...

6 days ago | 0

| accepted

Answered

Rolling all six numbers on a six sided die

This: v = zeros(1,NToys); NRolls = 0; needs to be inside your Trial loop so that it resets for each trial. A simpler way to ...

Rolling all six numbers on a six sided die

This: v = zeros(1,NToys); NRolls = 0; needs to be inside your Trial loop so that it resets for each trial. A simpler way to ...

7 days ago | 0

Answered

Need help Euler Method

The fundamental thing you are doing wrong is that you don't have the proper size state vector. For a 1st order equation, the st...

Need help Euler Method

The fundamental thing you are doing wrong is that you don't have the proper size state vector. For a 1st order equation, the st...

7 days ago | 0

| accepted

Answered

How can I add values of an array as an input into the ode45 function ?

What is the size of I? What is the DE you are solving? Maybe just dropping the (t) will work: dydt= (-I/(3600*Q)); Or maybe ...

How can I add values of an array as an input into the ode45 function ?

What is the size of I? What is the DE you are solving? Maybe just dropping the (t) will work: dydt= (-I/(3600*Q)); Or maybe ...

7 days ago | 0

| accepted

Answered

double differentiation and double integration of sine wave

"... when differentiating my position to get velocity and acclereation i did work out all three of them by hand, quite sure it i...

double differentiation and double integration of sine wave

"... when differentiating my position to get velocity and acclereation i did work out all three of them by hand, quite sure it i...

7 days ago | 0

Answered

Comparison of two Vektors with different size to find variables

E.g., x = ismember(b(:,1:2),a(:,1:2),'rows'); c = b(x,:); Depending on how the times were constructed, you might need to use ...

Comparison of two Vektors with different size to find variables

E.g., x = ismember(b(:,1:2),a(:,1:2),'rows'); c = b(x,:); Depending on how the times were constructed, you might need to use ...

7 days ago | 0

| accepted

Answered

How to transfer parameter between C and fortran

Maybe the Fortran compiler settings are compiling the default integer as 8-byte integers. Try forcing the Fortran to use 4-byte ...

How to transfer parameter between C and fortran

Maybe the Fortran compiler settings are compiling the default integer as 8-byte integers. Try forcing the Fortran to use 4-byte ...

7 days ago | 0

| accepted

Answered

How to sort a matrix in a random order

E.g., >> x = reshape(1:24,4,6) x = 1 5 9 13 17 21 2 6 10 14 18 22 3 7 ...

How to sort a matrix in a random order

E.g., >> x = reshape(1:24,4,6) x = 1 5 9 13 17 21 2 6 10 14 18 22 3 7 ...

8 days ago | 0

| accepted

Answered

can someone help me to solve this error (This statement is not inside any function. (It follows the END that terminates the definition of the function "RK4".)

Looks like your plot( etc ) and legend( etc ) lines are stuck inbetween two functions. Did you intend them to be inside a scrip...

can someone help me to solve this error (This statement is not inside any function. (It follows the END that terminates the definition of the function "RK4".)

Looks like your plot( etc ) and legend( etc ) lines are stuck inbetween two functions. Did you intend them to be inside a scrip...

8 days ago | 0

Answered

making array in for loop

Maybe prior to the loop define Alignment as a cell array to hold your results: Alignment = cell(10000,1);

making array in for loop

Maybe prior to the loop define Alignment as a cell array to hold your results: Alignment = cell(10000,1);

12 days ago | 0

| accepted

Answered

Why is my function generating a vector? Please help?

A uniform random number between a and b is: u = a + rand*(b-a) Generate two of these with a = -0.05 and b = 0.05 and then do t...

Why is my function generating a vector? Please help?

A uniform random number between a and b is: u = a + rand*(b-a) Generate two of these with a = -0.05 and b = 0.05 and then do t...

13 days ago | 0

Answered

Can someone explain the concept of B= null(A) in simple words?

The columns of B form basis vectors for the "null space" of A. Any linear combination of the B columns, when multiplied by A, w...

Can someone explain the concept of B= null(A) in simple words?

The columns of B form basis vectors for the "null space" of A. Any linear combination of the B columns, when multiplied by A, w...

13 days ago | 1

Answered

Unable to perform assignment because the size of the left side is 1-by-1 and the size of the right side is 5-by-1.

Looks like Cd and rho are vectors. So the result of those calculations on the right hand side will be vectors. But you are tryin...

Unable to perform assignment because the size of the left side is 1-by-1 and the size of the right side is 5-by-1.

Looks like Cd and rho are vectors. So the result of those calculations on the right hand side will be vectors. But you are tryin...

13 days ago | 0

| accepted

Answered

What can I use instead of VPA?

See the following FEX submissions by John D'Errico: https://www.mathworks.com/matlabcentral/fileexchange/36534-hpf-a-big-decima...

What can I use instead of VPA?

See the following FEX submissions by John D'Errico: https://www.mathworks.com/matlabcentral/fileexchange/36534-hpf-a-big-decima...

14 days ago | 1

Answered

Two equal datetime values showing as unequal when compared?

This is often just a display issue. E.g., >> s = datetime(2017,3,24,9,5,0.1) s = 24-Mar-2017 09:05:00 >> t = datetime(20...

Two equal datetime values showing as unequal when compared?

This is often just a display issue. E.g., >> s = datetime(2017,3,24,9,5,0.1) s = 24-Mar-2017 09:05:00 >> t = datetime(20...

14 days ago | 0

Answered

How can I multiply square submatrices more efficiently?

Here is the naive mex code. Could probably be made faster by doing the for-loop in parallel or trying to optimize cache hits, b...

How can I multiply square submatrices more efficiently?

Here is the naive mex code. Could probably be made faster by doing the for-loop in parallel or trying to optimize cache hits, b...

14 days ago | 1

| accepted

Answered

big difference in execution time in approximately the same code

The matrix multiply operator * in MATLAB calls highly optimized compiled BLAS library code in the background. The BLAS library ...

big difference in execution time in approximately the same code

The matrix multiply operator * in MATLAB calls highly optimized compiled BLAS library code in the background. The BLAS library ...

14 days ago | 2

| accepted