Creating vector and matrix from vector

1 view (last 30 days)
function w = svm(Xtrain, Ytrain)
first, I want to create the following vector:
data = [Xtrain(1)*Ytrain(1) Xtrain(2)*Ytrain(2) ... Xtrain(m)*Ytrain(m)]
Then I want to use vector 'data' to create the following matrix:
A = [data(1) 0 0 ... 0
data(2) 0 0 ... 0
.
.
.
data(m) 0 0 ... .]
How can I easily and efficiantly create the vector data and the matrix A?
Thank you.

Accepted Answer

James Tursa
James Tursa on 10 Dec 2020
Edited: James Tursa on 10 Dec 2020
Element-wise multiplication is done with the .* operator (with the dot). E.g.,
data = Xtrain .* Ytrain;
The operation data(:) will result in a column vector.
The zeros(rows,columns) will result in a 0's matrix of the requested size.
Then use the square brackets [ ] to concatenate them into a single matrix.
result = [data(:) zeros(rows,columns)];

More Answers (0)

Community Treasure Hunt

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

Start Hunting!

Translated by