MATLAB Answers

Multiplying an entire table by a column from another table.

24 views (last 30 days)
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.

  0 Comments

Sign in to comment.

Accepted Answer

Star Strider
Star Strider on 10 Mar 2020
Use the varfun function.
Example —
T = array2table(randi(99, 7, 5));
V = randi(99, 7, 1);
TV = varfun(@(x)x.*V, T);

More Answers (1)

Bhaskar R
Bhaskar R on 10 Mar 2020
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
processed_data = t1.a.*t2.c;
% or if you want to embed in table
t1.processed_data = t1.a.*t2.c;

Translated by