a function generating a square matrix

45 views (last 30 days)
Thomas Kozinski
Thomas Kozinski on 11 Mar 2021
Answered: Jan on 13 Mar 2021
Hello!
I am trying to create a function who creating a matrix like that
A = [11 12 13 14]
[21 22 23 24]
[31 32 33 34]
[41 42 43 44]
And I have no idea how to do it, can someone could give me any tips?
How should I approach that?
Thank you!

Accepted Answer

Jan
Jan on 13 Mar 2021
This is not a matrix in Matlab, but invalid syntax:
A = [11 12 13 14]
[21 22 23 24]
[31 32 33 34]
[41 42 43 44]
Do you mean:
A = [11 12 13 14; ...
21 22 23 24; ...
31 32 33 34; ...
41 42 43 44];
Now this is the solution already. You can insert it in a function an in a (useless) loop also:
function A = myFunction
for k = 1:1
A = [11 12 13 14; ...
21 22 23 24; ...
31 32 33 34; ...
41 42 43 44];
end
end
Do you see the problem? he question looks like a homework. With the instructions you have provided, this assignment is meaningless. Most likely you are wanted to create a tiny code to get familiar with Matlab. Then asking for a solution will not help you to learn programming in Matlab.
I guess, there are some more details in the original homework assigment. Maybe you are wanted to use 2 loops:
function A = myFuntion2(n)
A = zeros(n, n);
for i1 = 1:n
for i2 = 1:n
A(i1, i2) = i1 * 10 + i2;
end
end
end
An experienced Matlab programmer would omit the loops:
function A = myFuntion2(n)
v = 1:n;
A = 10 * v.' + v;
end
Do you learn something with reading my suggestions? Most likely you do. But you do not learn to program by your own. See also: FAQ: How to get help for homework questions.

More Answers (1)

Jorg Woehl
Jorg Woehl on 11 Mar 2021
Edited: Jorg Woehl on 11 Mar 2021
A = [11, 12, 13, 14; 21, 22, 23, 24; 31, 32, 33, 34; 41, 42, 43, 44]
A comma (optional) starts a new column in a matrix, while a semicolon (required) starts a new row. See Get Started with MATLAB: Matrices and Arrays.
  4 Comments
Jorg Woehl
Jorg Woehl on 12 Mar 2021
Is there a particular reason that you need to use an (inefficient) loop instead of a simple assignment operation? If your question is related to a class assignment, please tag it as "homework".

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!

Translated by