How do i make this code as simple as possible? :(

1 ビュー (過去 30 日間)
Jungwu Kim
Jungwu Kim 2020 年 12 月 30 日
コメント済み: Jungwu Kim 2020 年 12 月 31 日
final_0 = 0;
final_1 = final(numel(final_0)+1:(floor(numel(final)*1/10))*1);
final_2 = final(floor(numel(final)*1/10)*1+1:floor(numel(final)*1/10)*2);
final_3 = final(floor(numel(final)*1/10)*2+1:(floor(numel(final)*1/10))*3);
final_4 = final(floor(numel(final)*1/10)*3+1:(floor(numel(final)*1/10))*4);
final_5 = final(floor(numel(final)*1/10)*4+1:(floor(numel(final)*1/10))*5);
final_6 = final(floor(numel(final)*1/10)*5+1:(floor(numel(final)*1/10))*6);
final_7 = final(floor(numel(final)*1/10)*6+1:(floor(numel(final)*1/10))*7);
final_8 = final(floor(numel(final)*1/10)*7+1:(floor(numel(final)*1/10))*8);
final_9 = final(floor(numel(final)*1/10)*8+1:(floor(numel(final)*1/10))*9);
final_10 = final(floor(numel(final)*1/10)*9+1:floor(numel(final)));
I think anyone who has studied a little bit can make it simple, but I'm not
For your information, the class of those codes is char.
The size of one data is so large that you want to split it into 10 pieces.
Please let me know, and if you have time, I would like to know if this code can be expressed in loop. :((((((((

採用された回答

Ameer Hamza
Ameer Hamza 2020 年 12 月 30 日
First, naming variables like final_1, final_2, ... is a bad coding practise: https://www.mathworks.com/matlabcentral/answers/304528-tutorial-why-variables-should-not-be-named-dynamically-eval. Always use arrays. In your case, cell arrays are most appropriate.
You can write the code in a single line like this
final = .. % your arrat
final_split = mat2cell(final, 1, numel(final)/10*ones(1,10))
  5 件のコメント
Jungwu Kim
Jungwu Kim 2020 年 12 月 31 日
thank you!! god bless you and happy new year~

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

その他の回答 (1 件)

Walter Roberson
Walter Roberson 2020 年 12 月 30 日
buffer(final, floor(numel(final)/10)).'
Needs the signal processing toolbox.
The final (11th) row will contain 110227 entries only the first two of which will be nonblank. You might want to consider using ceil instead of floor which will get you 10 rows the last of which has 8 padding positions.
  1 件のコメント
Jungwu Kim
Jungwu Kim 2020 年 12 月 31 日
Thank you so much every time!!! :)

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

カテゴリ

Find more on Tables in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by