compute force matrix from positions matrix

1 回表示 (過去 30 日間)
Diego Soler Polo
Diego Soler Polo 2016 年 3 月 24 日
回答済み: Jos (10584) 2016 年 3 月 25 日
Hi,
I have the following problem. I want to create a function which takes as inputs a 1XN vector of masses and a Nx3 matrix of positions. The k-th row is the coordinates (x,y,z) of the k-th particle. The function should output a Nx3 matrix where the k-th row consists of the cartesian coordinates of the total gravitational force exerted upon the k-th particle.
This is very easy to achive by using loops in the function, but I was wondering whether there is some brief and more eficient way to do this without using any iteration loops.
Thank you for your help!

回答 (1 件)

Jos (10584)
Jos (10584) 2016 年 3 月 25 日
There surely is way to vectorise your code, using bsxfun, accumarray and/or arrayfun, for instance. However, this most likely to make your code less efficient and readable.

カテゴリ

Help Center および File ExchangeProgramming についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by