Matrix Multiplication with large vectors
5 ビュー (過去 30 日間)
古いコメントを表示
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 件のコメント
Walter Roberson
2015 年 5 月 11 日
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.
採用された回答
Walter Roberson
2015 年 5 月 15 日
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 件のコメント
Walter Roberson
2015 年 5 月 15 日
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;
参考
カテゴリ
Help Center および File Exchange で Operators and Elementary Operations についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!