MATLAB Answers

Multiplying an entire table by a column from another table.

조회 수: 86(최근 30일)
Craig Stevens
Craig Stevens 2020년 3월 10일
댓글: Star Strider 2020년 3월 10일
I want to take my a table of "data" and multiply it by a specific column from another table to result in "processed data". I have tried different multipication functions but I am always given the error "Undefined operator '.*' for input arguments of type 'table'." Is there a specific function that I am unaware of? I am running Matlab R2019a. Thank you.

채택된 답변

Star Strider
Star Strider 2020년 3월 10일
Use the varfun function.
Example —
T = array2table(randi(99, 7, 5));
V = randi(99, 7, 1);
TV = varfun(@(x)x.*V, T);
  댓글 수: 2
Star Strider
Star Strider 2020년 3월 10일
As always, my pleasure!

댓글을 달려면 로그인하십시오.

추가 답변(1개)

Bhaskar R
Bhaskar R 2020년 3월 10일
t1 = table;
t2 = table;
% table t1
t1.a = rand(10,1);
t1.b = rand(10,1);
% table t2
t2.c = rand(10, 1);
processed_data = t1.a.*t2.c;
% or if you want to embed in table
t1.processed_data = t1.a.*t2.c;

Community Treasure Hunt

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

Start Hunting!

Translated by