Creating vector and matrix from vector

2 views (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)

Categories

Find more on Resizing and Reshaping Matrices 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!