Answered

Error in ode45 while doing numerical integration

The function handle you pass to ode45( ) needs to have a (t,y) signature. E.g., [t,y] = ode45(@(t,y) myode(t,gt,g), tspan, ic, ...

Error in ode45 while doing numerical integration

The function handle you pass to ode45( ) needs to have a (t,y) signature. E.g., [t,y] = ode45(@(t,y) myode(t,gt,g), tspan, ic, ...

2 months ago | 0

Answered

How to multiply higher order matrices?

You may need to permute your arrays first to get your desired 2D slices in the first two dimensions. A = whatever B = whatever...

How to multiply higher order matrices?

You may need to permute your arrays first to get your desired 2D slices in the first two dimensions. A = whatever B = whatever...

2 months ago | 2

Answered

Using matrix to index another matrix?

Does this do what you want: x = sub2ind(size(B),(1:size(A,1))',A(:,1),A(:,2),A(:,3)); Output = B(x);

Using matrix to index another matrix?

Does this do what you want: x = sub2ind(size(B),(1:size(A,1))',A(:,1),A(:,2),A(:,3)); Output = B(x);

2 months ago | 0

| accepted

Answered

Equivalent of c++'s NULL or python' s None in MATLAB

This will probably depend on how these are used downstream in your code and whether you have arrays of them to deal with. If th...

Equivalent of c++'s NULL or python' s None in MATLAB

This will probably depend on how these are used downstream in your code and whether you have arrays of them to deal with. If th...

3 months ago | 1

Answered

X Y Z angles of a D20 (icosahedron) for gravity projection

If you have the 3D normal vectors, then all you need to do is take the dot product between them and the "flat" face normal vecto...

X Y Z angles of a D20 (icosahedron) for gravity projection

If you have the 3D normal vectors, then all you need to do is take the dot product between them and the "flat" face normal vecto...

3 months ago | 1

| accepted

Answered

modify a row of an array within a function

This can sometimes be done inplace depending on how you write the function and how you call the function. One requirement is yo...

modify a row of an array within a function

This can sometimes be done inplace depending on how you write the function and how you call the function. One requirement is yo...

3 months ago | 0

Answered

Operator '-' is not supported for operands of type 'function_handle'.

You are using u as both an input argument and a global function handle function A3 = odeFun(t, u) <-- input argument global R...

Operator '-' is not supported for operands of type 'function_handle'.

You are using u as both an input argument and a global function handle function A3 = odeFun(t, u) <-- input argument global R...

3 months ago | 0

Answered

Solve a system of 3 second order ODE

You will need to change your scalar equations to vector equations, and you will need to change your derivative function to a vec...

Solve a system of 3 second order ODE

You will need to change your scalar equations to vector equations, and you will need to change your derivative function to a vec...

3 months ago | 0

Answered

Need to speed up the generation of random numbers.

You could over generate a large matrix and then pick off the number of elements you need later. E.g., C = rand([5 size(A)]); T...

Need to speed up the generation of random numbers.

You could over generate a large matrix and then pick off the number of elements you need later. E.g., C = rand([5 size(A)]); T...

3 months ago | 0

Answered

How do i create a large matrix with a formula?

N = 1000; a = 2 * pi * f * T * (0:N-1)'; x = [cos(a) -sin(a)];

How do i create a large matrix with a formula?

N = 1000; a = 2 * pi * f * T * (0:N-1)'; x = [cos(a) -sin(a)];

3 months ago | 1

Answered

Matrix multiplication to get covariance matrix

@Tintin Milou MATLAB variables do not have a "symmetric" attribute flag that I know of. Just because you create a variable that...

Matrix multiplication to get covariance matrix

@Tintin Milou MATLAB variables do not have a "symmetric" attribute flag that I know of. Just because you create a variable that...

3 months ago | 0

Answered

Why can't complex integer arithmetic be done?

I think the main reason for disallowing integer array arithmetic in MATLAB is because of the ambiguity caused by the max(min( ))...

Why can't complex integer arithmetic be done?

I think the main reason for disallowing integer array arithmetic in MATLAB is because of the ambiguity caused by the max(min( ))...

3 months ago | 1

Answered

How can I split C/C++ Code in multiple files and still use MEX

Use the -c option to compile the B and C stuff to produce only object files without any linking: mex -c B.c C.c Then compile y...

How can I split C/C++ Code in multiple files and still use MEX

Use the -c option to compile the B and C stuff to produce only object files without any linking: mex -c B.c C.c Then compile y...

3 months ago | 1

| accepted

Answered

Matrix multiplication. Trying to get scalar solution

Those should be matrix multiples, not element-wise multiplies. Remove the dots. E.g., top=nMode * M * u0; bot=nMode * M * nM...

Matrix multiplication. Trying to get scalar solution

Those should be matrix multiples, not element-wise multiplies. Remove the dots. E.g., top=nMode * M * u0; bot=nMode * M * nM...

3 months ago | 0

| accepted

Answered

Adapt RK4 ODE Solver from first order to 2nd order

Try this for starters yt = zeros(numel(y0),length(h:tfinal)); %Memory Allocation And then maybe this is what is intended for i...

Adapt RK4 ODE Solver from first order to 2nd order

Try this for starters yt = zeros(numel(y0),length(h:tfinal)); %Memory Allocation And then maybe this is what is intended for i...

3 months ago | 0

| accepted

Answered

Error using vertcat Dimensions of arrays being concatenated are not consistent.

You have a mismatch in the number of arguments. E.g., this [V,y] = ode45(@(~,y) fun(del_h1,del_cp1,cp1),Vspan,y0); should be ...

Error using vertcat Dimensions of arrays being concatenated are not consistent.

You have a mismatch in the number of arguments. E.g., this [V,y] = ode45(@(~,y) fun(del_h1,del_cp1,cp1),Vspan,y0); should be ...

3 months ago | 0

Answered

Replacing matrix n column values

E.g., temp = A(:,70:80); temp(temp<0) = 0; A(:,70:80) = temp;

Replacing matrix n column values

E.g., temp = A(:,70:80); temp(temp<0) = 0; A(:,70:80) = temp;

3 months ago | 1

| accepted

Answered

Solving an overdetermined system of linear equations

Since you can simply plug in those values to verify that they satisfy all four equations, the conclusion would be that you have ...

Solving an overdetermined system of linear equations

Since you can simply plug in those values to verify that they satisfy all four equations, the conclusion would be that you have ...

3 months ago | 0

| accepted

Answered

How to create a cell array with binary numbers?

Your pop variable has 1000x11 = 11000 elements. Your for-loop only assigns values to 1000 of those elements (the first column)....

How to create a cell array with binary numbers?

Your pop variable has 1000x11 = 11000 elements. Your for-loop only assigns values to 1000 of those elements (the first column)....

3 months ago | 0

Answered

invalid use of operator

You are missing a ( after the second "if", and you are missing an "end" statement. That being said, my suggestion would be to u...

invalid use of operator

You are missing a ( after the second "if", and you are missing an "end" statement. That being said, my suggestion would be to u...

3 months ago | 0

Answered

Need Help Solving Two Coupled ODEs

The derivative function needs to have the input arguments specified. In your current code above, you have no inputs specified. ...

Need Help Solving Two Coupled ODEs

The derivative function needs to have the input arguments specified. In your current code above, you have no inputs specified. ...

3 months ago | 0

| accepted

Answered

Versions of Euler Methods

methodA has a fundamental flaw: y(i+1) = y(i)+ h*func( t(i) + h/2, (y(i)+y(i+1))/2 ); You can't use y(i+1) on the right hand s...

Versions of Euler Methods

methodA has a fundamental flaw: y(i+1) = y(i)+ h*func( t(i) + h/2, (y(i)+y(i+1))/2 ); You can't use y(i+1) on the right hand s...

3 months ago | 1

Answered

Problem with matrix differential equation resolve in Matlab with ode45

Normally I would have expected ode45( ) to pass q as a 4x1 column vector. Also, I don't see anything in your code solving for q...

Problem with matrix differential equation resolve in Matlab with ode45

Normally I would have expected ode45( ) to pass q as a 4x1 column vector. Also, I don't see anything in your code solving for q...

3 months ago | 0

| accepted

Answered

Question regarding quaternion conventions; particularly with respect to point vs frame rotations

See this post for comments regarding "point" vs "frame" convention: https://www.mathworks.com/matlabcentral/answers/524471-what...

Question regarding quaternion conventions; particularly with respect to point vs frame rotations

See this post for comments regarding "point" vs "frame" convention: https://www.mathworks.com/matlabcentral/answers/524471-what...

3 months ago | 0

Answered

Using vectorization to shorten run time

E.g., [P,D] = meshgrid(p,d); % generate all possible combinations X = [P(:) D(:)]; % combine them into side-by-side column vec...

Using vectorization to shorten run time

E.g., [P,D] = meshgrid(p,d); % generate all possible combinations X = [P(:) D(:)]; % combine them into side-by-side column vec...

4 months ago | 1

| accepted

Answered

why does dimension of input variable change in ode45

The dimension changes to a column vector because that is the way ode45( ) operates. Your derivative function needs to be able t...

why does dimension of input variable change in ode45

The dimension changes to a column vector because that is the way ode45( ) operates. Your derivative function needs to be able t...

4 months ago | 1

| accepted

Answered

Maatlab crash with .mex function

I had to make some assumptions about how the matrix data areas are supposed to be loaded. We can try this first to see if these...

Maatlab crash with .mex function

I had to make some assumptions about how the matrix data areas are supposed to be loaded. We can try this first to see if these...

4 months ago | 0

Answered

How to calculate standard deviation in double for loop?

The short answer is don't do that. This style of programming has many problems. See this link for alternatives: https://www.m...

How to calculate standard deviation in double for loop?

The short answer is don't do that. This style of programming has many problems. See this link for alternatives: https://www.m...

4 months ago | 0

Answered

Add row to an empty array if a condition is fulfilled

No need for an explicit loop. Just use logical indexing: result = m(strcmp(m(:,3),'A'),:);

Add row to an empty array if a condition is fulfilled

No need for an explicit loop. Just use logical indexing: result = m(strcmp(m(:,3),'A'),:);

4 months ago | 0

| accepted