How do you initialize an N*M matrix?

1.741 visualizzazioni (ultimi 30 giorni)
Harry
Harry il 26 Giu 2013
Risposto: HARSHAVARTHINI il 26 Nov 2024 alle 6:21
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)

Risposta accettata

Leah
Leah il 26 Giu 2013
Modificato: MathWorks Support Team il 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 Commenti
Abhishek Inamdar
Abhishek Inamdar il 6 Lug 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
israt fatema il 25 Ago 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

Accedi per commentare.

Più risposte (5)

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

Accedi per commentare.


Nitin
Nitin il 26 Giu 2013
you could initialize the matrix,
M = zeros(n,m);

Pau
Pau il 17 Ott 2018
This should make the trick
M = double.empty(N,M,0);
https://uk.mathworks.com/help/matlab/ref/empty.html

Arun
Arun il 7 Dic 2022
Modificato: Arun il 7 Dic 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.

HARSHAVARTHINI
HARSHAVARTHINI il 26 Nov 2024 alle 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);

Categorie

Scopri di più su Matrices and Arrays in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by