How to create corresponding equation in a column based on the value of previous column? (Similar to drag in Excel)
1 回表示 (過去 30 日間)
古いコメントを表示
Hi all,
Imagine we have a 1000 x 3 matrix named A. I want to have a specific equation such as A(1,1) * by EquationA if the value in A(1,1) is less than 50 and A(1,1) * by EquationB if the value in A(1,1) is greater than or equal to 50. Then, drag this logic for the entire 1000 rows similar to Excel. How should I do this?
0 件のコメント
採用された回答
Stephen23
2021 年 5 月 25 日
The MATLAB approach would be to use logical indexing:
For example,assuming that your "equations" are actually vectorized functions:
Z = eqB(A(:,1));
X = A(:,1)<50; % logical vector
Z(X) = eqA(A(X,1))
2 件のコメント
Stephen23
2021 年 5 月 29 日
編集済み: Stephen23
2021 年 5 月 29 日
"So just a quick question, does the first line multiply the entire A's members by eqB? or just the ones above 50?"
All of them.
"but is the final matrix a compiled matrix of all Z mutiplied by eqB and eqA? or should I compile/join it manually?"
You do not need to join anything manually, the indexing already "joins" the data:
Z(X) = eqA...
% ^ this indexing combines the eqA data into the eqB data.
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Data Import from MATLAB についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!