I am trying to convert the below C++ line to MATLAB, any help appreciated
A[index1d(x,y,z)] += B[i]*W;

 Akzeptierte Antwort

dpb
dpb am 15 Jun. 2020

1 Stimme

A[index1d(x,y,z)] = A[index1d(x,y,z)] + B[i]*W;
in C/C++
Presuming conformance of dimensions, etc.,
A(index1d(x,y,z)) = A(index1d(x,y,z)) + B(i)*W;
in MATLAB replacing the braces.

3 Kommentare

Hans123
Hans123 am 15 Jun. 2020
Thank you!
James Tursa
James Tursa am 15 Jun. 2020
Since C++ is 0-based indexing and MATLAB is 1-based indexing, you will probably need to add 1 to your indexes in the above conversion, either explicitly or as part of upstream code.
dpb
dpb am 15 Jun. 2020
James -- good catch! I meant to add that caveat as well but forgot...it can be a real bugger to convert if forget or depending just how indices were used...

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Tags

Gefragt:

am 15 Jun. 2020

Kommentiert:

dpb
am 15 Jun. 2020

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by