How solve this problem in Matlab

3 views (last 30 days)
How can I write a program in a script file that creates and 𝑛 × 𝑚 matrix with elements that have the following values. The value of each element in the first row is the number of the column. The value of each element in the first column is the number of the row, The rest of the elements each has a value equal to the sum of the element above it and the element to the left.
  1 Comment
Yeachan Choi
Yeachan Choi on 24 Mar 2022
Edited: Yeachan Choi on 24 Mar 2022
First, I solved it with this code
n = input('Choose your number n : ')
m = input('Choose your number m : '); % n, m should be a positive integer
V = zeros(n, m);
V(1,:) = 1:m; V(:,1) = 1:n;
for a = 2:n;
for b = 2:m;
V(a,b) = V(a-1,b) + V(a,b-1)
end
end
but This code made me nervous, because there are many result of matrix in command file.

Sign in to comment.

Accepted Answer

Davide Masiello
Davide Masiello on 24 Mar 2022
Edited: Davide Masiello on 24 Mar 2022
Note that your code displays a lot of matrixes because you haven't placed a semicolon when defining V. You can fix it easily
clear,clc
n = 5;
m = 6;
V = zeros(n,m);
V(1,:) = 1:m; V(:,1) = 1:n;
for a = 2:n;
for b = 2:m;
V(a,b) = V(a-1,b) + V(a,b-1);
end
end
V
V = 5×6
1 2 3 4 5 6 2 4 7 11 16 22 3 7 14 25 41 63 4 11 25 50 91 154 5 16 41 91 182 336
For the rest, I believe your code works correctly.

More Answers (1)

David Goodmanson
David Goodmanson on 25 Mar 2022
Hi Davide,
here is a method that uses one for loop instead of two:
n = 5
m = 6
V = zeros(n,m);
V(:,1) = 1:n;
for k = 2:m
V(:,k) = cumsum(V(:,k-1)) +1;
end
V
V =
1 2 3 4 5 6
2 4 7 11 16 22
3 7 14 25 41 63
4 11 25 50 91 154
5 16 41 91 182 336

Categories

Find more on Linear Algebra in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!