Community Profile

photo

James Tursa


Last seen: Today
3,912 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
precision problem ? why ans for 10 ^ 5 * 0.0633 is 6.3299e+03
Normal floating point arithmetic effects. See this link: https://www.mathworks.com/matlabcentral/answers/57444-faq-why-is-0-3-...

22 hours ago | 0

Answered
Getting a random list of numbers on a very specific interval
Generate the list according to the range width of valid values, then adjust the results. E.g., r = rand(10000,1)*80; ix = r >...

1 day ago | 0

| accepted

Answered
error using multiplication, incorrect dimensions
There are vectors in those equations, so maybe you just need to use element-wise operations: k1 = ((b.*(p+theta-n2).*c0+I.*(a.*...

2 days ago | 0

Answered
Numeric integration for systems of vector equations
I haven't looked through your code, but from your description it sounds like you are making a fundamental error in your state sp...

2 days ago | 0

| accepted

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

2 days ago | 0

| accepted

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

2 days ago | 1

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

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

4 days 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);

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

4 days 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) [...

4 days ago | 0

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

11 days 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)

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

12 days ago | 0

Load more