How do you initialize an N*M matrix?
1,740 views (last 30 days)
Show older comments
From the MATLAB help, it says to use:
M = matrix(N, M)
but when I apply this it says that the function 'matrix' is not recognized.
Undefined function 'matrix' for input arguments of type 'double'.
Error in experimental (line 1)
M = matrix(3,3)
3 Comments
Accepted Answer
Leah
on 26 Jun 2013
Edited: MathWorks Support Team
on 27 Nov 2018
To initialize an N-by-M matrix, use the “zeros” function. For example, create a 3-by-5 matrix of zeros:
A = zeros(3,5);
You can then later assign specific values to the elements of “A”.
3 Comments
Abhishek Inamdar
on 6 Jul 2021
Use "X = ones(n)" and add the values based on the row and column. Use for loop to work on value addition
israt fatema
on 25 Aug 2021
Can you please show me how to assign value to A after initialize the N x M matrix? For example i need to create a vector 5 x 5 and with values x = 20 35 49 64 23
More Answers (5)
Lokesh Ravindranathan
on 26 Jun 2013
Edited: Lokesh Ravindranathan
on 26 Jun 2013
I am assuming you are trying to create an empty matrix of zeros of dimensions N*M. You can try the following instead
M = zeros(3,3)
This creates a matrix of zeros of size 3*3.
2 Comments
per isakson
on 26 Jun 2013
Edited: per isakson
on 26 Jun 2013
matrix is a function in the symbolic toolbox.
Lokesh Ravindranathan
on 26 Jun 2013
Oh. Thanks Isakson. I will update my answer. My MATLAB did not have symbolic Math toolbox.
Pau
on 17 Oct 2018
This should make the trick
M = double.empty(N,M,0);
https://uk.mathworks.com/help/matlab/ref/empty.html
0 Comments
HARSHAVARTHINI
on 26 Nov 2024 at 6:21
% Define the matrix A = [4 1 9; 0 1 3; 0 1 2];
% Initialize parameters n = size(A, 1); % Size of the matrix x = rand(n, 1); % Initial guess for the eigenvector tolerance = 1e-6; % Convergence criteria max_iter = 1000; % Maximum number of iterations lambda_old = 0; % Initial eigenvalue
for k = 1:max_iter % Multiply matrix A with vector x y = A * x;
% Normalize the vector x = y / norm(y);
% Compute the Rayleigh quotient (dominant eigenvalue) lambda = x' * A * x;
% Check for convergence if abs(lambda - lambda_old) < tolerance fprintf('Converged in %d iterations.\n', k); break; end
% Update old eigenvalue lambda_old = lambda; end
% Display results fprintf('Dominant Eigenvalue: %.6f\n', lambda); disp('Corresponding Eigenvector:'); disp(x);
0 Comments
See Also
Categories
Find more on Matrices and Arrays in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!