Community Profile

photo

James Tursa


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.

Contact

James Tursa's Badges

  • Personal Best Downloads Level 3
  • First Review
  • 5-Star Galaxy Level 5
  • First Submission
  • 36 Month Streak
  • Thankful Level 2
  • Ace
  • Revival Level 2
  • Knowledgeable Level 4
  • First Answer
  • Solver

View details...

Contributions in
View by

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

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

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

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

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.

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

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

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

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

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,[]...

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

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?

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

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;

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

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

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

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

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

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

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

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

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

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

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

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

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

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.

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

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

24 days ago | 0

| accepted

Load more