How do you initialize an N*M matrix?

1,258 次查看(过去 30 天)
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)

采纳的回答

Leah
Leah 2013-6-26
编辑:MathWorks Support Team 2018-11-27
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 个评论
Abhishek Inamdar
Abhishek Inamdar 2021-7-6
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 2021-8-25
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

请先登录,再进行评论。

更多回答(5 个)

Lokesh Ravindranathan
编辑:Lokesh Ravindranathan 2013-6-26
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 个评论
per isakson
per isakson 2013-6-26
编辑:per isakson 2013-6-26
matrix is a function in the symbolic toolbox.
Lokesh Ravindranathan
Oh. Thanks Isakson. I will update my answer. My MATLAB did not have symbolic Math toolbox.

请先登录,再进行评论。


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

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

Arun
Arun 2022-12-7
编辑:Arun 2022-12-7
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 2024-11-26,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);

类别

Help CenterFile Exchange 中查找有关 Matrices and Arrays 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by