Matrix Multiplication with large vectors
5 views (last 30 days)
Show older comments
amberly hadden
on 11 May 2015
Commented: Walter Roberson
on 15 May 2015
Hi,
If I have following problem how can I formulate it in matlab
A=
1 3
2 4
b=
xi
yi
where xi and yi are column vectors with lets say 100 values in each how can I input this problem in Matlab by using following formula
[z1 = A*b
z2]
Please note I have very large martix with vectors xi and yi and I want out put two matrices z1 and z2
Thanks in advance, jay
thanks
3 Comments
Walter Roberson
on 11 May 2015
There seems to be some confusion about whether xi and yi are row vectors or column vectors. You said column vectors before, but [xi;yi] would create a single column vector of the two combined, with [xi,yi] producing two columns from two column vectors.
Accepted Answer
Walter Roberson
on 15 May 2015
T = arrayfun(@(x,y) A*[x;y], xi, yi, 'Uniform', 0);
z1z2 = vertcat(T{:});
z1 = z1z2(:,1);
z2 = z1z2(:,2);
However, this formulation of the code would not be efficient if you had a small A and long vectors. In your actual situation, what size() is your A ?
2 Comments
Walter Roberson
on 15 May 2015
In the case of A being 2 x 2, it is faster just to write out the values
z1 = A(1,1) * xi + A(2,1) * yi;
z2 = A(1,2) * xi + A(2,2) * yi;
See Also
Categories
Find more on Operators and Elementary Operations 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!