Community Profile

photo

James Tursa


Last seen: Today
3.908 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

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

View details...

Contributions in
View by

Answered
Preserving numerical symmetry in large nxn matrix
Here is a mex routine to do this calculation. It relies on inputting the diagonal matrix as a full vector of the diagonal eleme...

ongeveer 13 uur ago | 0

Answered
Fast matrix multiplication with diagonal matrices
Here is a mex routine to do this calculation. It relies on inputting the diagonal matrices as full vectors of the diagonal elem...

ongeveer 13 uur ago | 0

Answered
How to divide a vector randomly in 3 groups?
Based on my current understanding, maybe this rejection method might do what you want. Again, since there are only three groups...

1 dag ago | 1

| accepted

Answered
Inverse a cell of matrices
Yes, you can do something like this: T1inv = cellfun(@inv,T1,'uni',false); That being said, this begs the question of what you...

1 dag ago | 0

Answered
Sorting two simple matrices
Use the 2nd output argument of the sort( ) function, which has the indexing. E.g., [Asorted,ix] = sort(A); Bsorted = B(ix);

1 dag ago | 1

| accepted

Answered
Preserving numerical symmetry in large nxn matrix
Why do you think L should be symmetric? E.g., (1) L = D^-1 * W * D (2) L^T = (D^-1 * W * D)^T = D^T * W^T * (D^-1)^T = D * W ...

2 dagen ago | 0

Answered
Error in ODE45, must return a column vector
Just make your function handle return a column vector by using ; instead of , to separate the elements. E.g., ode = @(Qhat,X) [...

2 dagen ago | 0

Answered
How to Solve 13 ODEs simultaneously by ode45
Your c0 has only 12 elements. It needs to have 13 elements.

2 dagen ago | 0

Answered
How to generate double pendulum using ode 45
You have a 4-element state vector, so your derivative needs to be a 4-element state vector. E.g., dxdt=[theta1dot;theta2dot;th...

2 dagen ago | 0

Answered
Help with arrays please
I'm not sure what the question is. Just enter the text as shown to create the 2x2 matrix A: A = [-10 -9; -8 6]; ...

3 dagen ago | 0

Answered
How to calculate mean to an equal area in Matlab?
n = 3; % or whatever number of samples you need, must be divisible into size of data time_average = mean(reshape(time_data,n,[]...

3 dagen ago | 0

| accepted

Answered
What code should I use to be able to solve these MatLab questions?
Hint #1: Here is sample syntax to use to create a 2x4 matrix Q = [1 2 3 4; 5 6 7 8] Hint #2: See the following function for s...

3 dagen ago | 0

Answered
How to divide a vector randomly in 3 groups?
Maybe a simple loop: n = numel(A); n10 = floor(0.10*n)-1; n80 = floor(0.80*n); for k=1:3 k1 = randi(n-n10); k2 = k...

6 dagen ago | 0

Answered
Replacing for loops with vectorization
No, in general you cannot vectorize loops such as this. What you are doing in this particular loop is solving a 2nd order diffe...

6 dagen ago | 1

| accepted

Answered
changing loop index within the loop
If you need to modify the loop index within the loop, use a while-loop instead of a for-loop.

6 dagen ago | 0

| accepted

Answered
Matrix Multiplication & Splitting
Based on your latest posts, it sounds like you really want A*C(3x3 slice)*B. So again it would be nice to do all the multiplies...

6 dagen ago | 2

Answered
Matrix Multiplication & Splitting
Your dimensions don't work. A*B is going to be 3x1. You can't multiply this by a 3xN matrix. That being said, suppose you did ...

6 dagen ago | 1

Answered
solving ordinary differential equation
Starting with this differential equation: m*d2xdt2 + a*(dxdt)^2 + k*x= F*cos(omega*t) The first step is to solve the equation ...

6 dagen ago | 0

| accepted

Answered
How to extract the expression inside of a trig function?
You could write your own simple parser for this. E.g., code for finding stuff inside the first function in the line could be: Z...

6 dagen ago | 1

Answered
multi-indexing (slicing) with different slice size
You would probably need to generate the linear/logical indexes of the elements involved and then you could assign all of those s...

7 dagen ago | 0

Answered
Trapezoid algorithm on an ODE
You need to pass the entire state to the derivative function, not just one element of the state. E.g., utmp = u(idx,:) + dt*dud...

8 dagen ago | 1

| accepted

Answered
Could I pass a 'triangulation' class into mex?
triangulation is a classdef OOP class. You cannot use struct API functions such as mxGetField( ) to get at the properties. You...

8 dagen ago | 0

| accepted

Answered
How to convert simple multiplication of variables into dot(.*) multiplication
You could use this https://www.mathworks.com/help/matlab/ref/vectorize.html although current doc says it is not recommended.

9 dagen ago | 0

| accepted

Answered
How to "free" or "destroy" pointer array of mxArray?
You must do each one. So mxDestroyArray(tmp[0]); mxDestroyArray(tmp[1]); mxDestroyArray(tmp[2]); or you could put these i...

9 dagen ago | 0

| accepted

Answered
Adjusting size of matrix when converting base 10 to binary
Specify the number of binary digits to use. E.g., dec2bin(30,8)

9 dagen ago | 1

| accepted

Answered
Index exceeds the number of array elements (2).
This line has y(3) dydt(2) = (2*k*uG-4*c*y(2)-2*c(y(2)-y(4))-2*k*y(1)-k*(y(1)-y(3)))/(2*m); What is the differential equation ...

10 dagen ago | 0

Answered
Split array into equal parts
You could reshape it and then access by columns. E.g., R = reshape(A,8,[]); Then A(:,1) is the first 8 values, A(:,2) is the s...

10 dagen ago | 0

Answered
Problems with Fortran MEX files with R2020b on Linux
So, the timestwo.F file that ships with MATLAB has bugs. I pointed this out to TMW several years ago, but I just checked and as...

10 dagen ago | 1

Answered
How to make two mxArray* scalar multiply each other?
x and y are pointers, so you need to dereference them to get at the double values they point to. So your code should be: plhs[...

10 dagen ago | 0

| accepted

Answered
Extracting data form a single cell
Draw{1}(1) is the rank and Draw{1}(2) is the suit.

11 dagen ago | 0

| accepted

Load more