How do you initialize an N*M matrix?

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)

 Accepted Answer

Leah
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

ok,but,i have this problem:Write a program into a script file that creates a matrix m x n with elements that have the following values:
- The value of each element in the first line is the number of that column
- The value of each element in the first column is the line number
- Each of the other elements of the matrix have values ​​equal to the sum between the element above and the left element
Use "X = ones(n)" and add the values based on the row and column. Use for loop to work on value addition
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

Sign in to comment.

More Answers (5)

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
per isakson on 26 Jun 2013
Edited: per isakson on 26 Jun 2013
matrix is a function in the symbolic toolbox.
Oh. Thanks Isakson. I will update my answer. My MATLAB did not have symbolic Math toolbox.

Sign in to comment.

Nitin
Nitin on 26 Jun 2013
you could initialize the matrix,
M = zeros(n,m);
Pau
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
Arun
Arun on 7 Dec 2022
Edited: Arun on 7 Dec 2022
Here is the documentation for multi dementional arrays in matlab
Here is an example to create and initialize a 3X3 matric
A = [1 2 3; 4 5 6; 7 8 9]
A = 3×3
1 2 3
4 5 6
7 8 9
It is simular to matrix in c programming.

% 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);

Categories

Asked:

on 26 Jun 2013

Answered:

on 26 Nov 2024

Community Treasure Hunt

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

Start Hunting!