Please read these instructions before you attempt to solve this problem. Download the live script file MAT343lab2ex4.mlx and open it with MATLAB. Run the file and use the information provided to complete the following exercise. For your convenience, a PDF version is also provided. Before you attempt this exercise, you might want to watch the last video of the video tutorials for this lab.
The product y = Ax of an m x n matrix A times a column vector x = (x_(1), x_(2), ..., x_(n))^(T) can be computed row-wise as below:
y = [A(1,2) * x; A(2,z) * x, ..., A(m,2) * x]
that is
y(1) = A(1,2) * x
y(2) = A(2,:) * x
y(m) = A(m,2) * x
Write a function named myrowproduct that takes in input a matrix A, a column vector x, and a random number k, and as output gives the product y = Ax computed by row as defined above, and the intermediate value, z, of the output vector at the end of k iterations (this intermediate value is used by MATLAB Grader to determine whether your code is correct).
Specific instructions for writing the function:
- Extract the dimension of A using the command size and store the result in the variables m and n.
- Extract the dimension of x using the command size and store the result in the variables p and q.
- Use an if statement to perform a check on the dimensions to determine whether the multiplication is defined and whether x is a column vector.
- If the multiplication is defined and x is a column vector:
- Initialize the vector y as a vector of zeros of the appropriate dimension.
- Use a single for loop to evaluate the entries of the product y = Ax. The loop counter should be the variable i. Each iteration of the for loop should evaluate the ith component of the vector y as the product of the ith row of A times the vector x. Also, inside the for loop, after you compute the ith component of y, insert the following: