How to get specified data in table
現在この質問をフォロー中です
- フォローしているコンテンツ フィードに更新が表示されます。
- コミュニケーション基本設定に応じて電子メールを受け取ることができます。
エラーが発生しました
ページに変更が加えられたため、アクションを完了できません。ページを再度読み込み、更新された状態を確認してください。
古いコメントを表示
Please help me.
How can i filter the table by specified 'Pushover-x' as a rownames and only vartype 'StepNum' , 'GlobalFX', 'GlobalFZ' data which i want to get.

採用された回答
Where T is your table:
idx = strcmpi(T.OutputCase,'Pushover-x');
out = T(idx,{'StepNum','GlobalFX','GlobalFZ'})
Note that if OutputCase really were the RowNames then you could have done this:
out = T('Pushover-x',{'StepNum','GlobalFX','GlobalFZ'})
6 件のコメント
Arif
2024 年 2 月 19 日
hey thanks a lot. I've learned from you. But what if i want multiple filter ? I already did but i think it is not shortway. Do you have any idea, how to make it simple ?
this is my code :

jointdisplacement = array2table(TableData,"VariableNames",FieldKeysIncluded)
idx = strcmp(jointdisplacement.Joint,'5')
out = jointdisplacement(idx,{'OutputCase','StepNum','U1'})
idx2 = strcmp(out.OutputCase,'Pushover-x')
out2 = out(idx2,{'StepNum','U1'})
"But what if i want multiple filter ?"
You can combine multiple logical vectors using &. For example where T is your table:
idx = strcmp(T.Joint,'5') & strcmp(T.OutputCase,'Pushover-x');
out = T(idx,{'StepNum','U1'})
Arif
2024 年 2 月 20 日
thanks a lot
idx = strcmp(T.Joint,'5') & strcmp(T.OutputCase,'Pushover-x') & strcmp(T.OutputCase,'MODAL');
out = T(idx,{'StepNum','U1'})
but it was error... so it cant take two filters in one variable ?
"but it was error"
Then you need to tell us exactly what the error is. Show us all of the red text.
"so it cant take two filters in one variable ?"
MATLAB does not limit how many AND operators can be chained one after another.
But your logic using AND is most likely incorrect: can you show one single value of the OUTPUTCASE field whose value is both equal to "Pushover-X" and also to "MODAL" ? That is what AND means.
I am guessing that you intended to use OR:
idx = strcmp(T.Joint,'5') & (strcmp(T.OutputCase,'Pushover-x') | strcmp(T.OutputCase,'MODAL'));
or perhaps ISMEMBER or MATCHES or similar:
idx = strcmp(T.Joint,'5') & ismember(T.OutputCase,{'Pushover-x','MODAL'});
Arif
2024 年 2 月 21 日
thanks stephen, ismember was the result
その他の回答 (0 件)
カテゴリ
ヘルプ センター および File Exchange で Tables についてさらに検索
タグ
参考
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
