I am designing a code to find the cheapest gear box pair that can meet a certain force requirement.
The requirement, for example in my code is WearPinionLD, is a 37x7 matrix, and Ft the force is 37x1 matrix. I intend to find the indices of the WearPinionLD of each row w.r.t the same row of Ft with for loop:
for i=1:37
index(i)=find(WearPinionLD(i,:)>=Ft(i));
end
but matlab said the LHS and RHS sized differently.

 採用された回答

VBBV
VBBV 2022 年 2 月 27 日
編集済み: VBBV 2022 年 2 月 27 日

0 投票

WearPinionLD = rand(37,7);
Ft = rand(37,1);
for i=1:37
index{i} =find(WearPinionLD(i,:)>=Ft(i));
end
index.'
ans = 37×1 cell array
{[ 1 2 3 4 6 7]} {1×0 double } {[ 2 5 6 7]} {[ 6 7]} {[ 1 4 5 6 7]} {[1 2 3 4 5 6 7]} {1×0 double } {[ 2 3 4 6 7]} {[ 2 3 4 5 6 7]} {[ 2 3 4 7]} {[ 1 2 5 6 7]} {[ 1 4 6 7]} {[ 1 2 3 4 5 6]} {[ 3 4]} {[ 3 6]} {[ 1 3 4 5 6 7]}

5 件のコメント

VBBV
VBBV 2022 年 2 月 27 日
It finds indices for all columns.
Wayne Liu
Wayne Liu 2022 年 2 月 27 日
it became 'Unable to perform assignment because the size of the left side is 1-by-1 and the size of the right side is 1-by-0.'...
VBBV
VBBV 2022 年 2 月 27 日
Try it using cell array. See the edited code above.
VBBV
VBBV 2022 年 2 月 27 日
As the indices array are irregularly sized based on find condition, use a cell array.
Wayne Liu
Wayne Liu 2022 年 2 月 27 日
Probelm solved!!!! Thank you so much :))

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeNumerical Integration and Differential Equations についてさらに検索

製品

リリース

R2021b

タグ

質問済み:

2022 年 2 月 27 日

編集済み:

2022 年 2 月 27 日

Community Treasure Hunt

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

Start Hunting!

Translated by