Building a matrix with a for-loop

Hello, I am constructing a matrix using the following program:
%Program HW13.m
x = 35;
y = 26;
n = 5;
for i = 1:1:n+1
x(i+1) = 18*x(i) - 11*y(i);
y(i+1) = 8*x(i) - y(i);
end
The for-loop generates two matrices, one for "x" and one for "y". However, I need to create new matrix: column 1 with the "i" values, column 2 with the iterated "x" values, column 3 with the iterated "y" values, and column 4 with "x/y" values. Any suggestions on how to do this?

回答(2 个)

[(1:n+1).', x(:), y(:), x(:)./y(:)]

2 个评论

Tried this command; however it says that the dimensions are not consistent.
That should be:
[(1:n+2).', x(:), y(:), x(:)./y(:)]
because of the way the indices work, so the number of elements is n+1+1.

请先登录,再进行评论。

n = 5;
out = zeros(n+2,4);
out(1,2) = 35;
out(1,3) = 26;
for ii = 1:n+1
out(ii+1,2) = 18*out(ii,2) - 11*out(ii,3);
out(ii+1,3) = 8*out(ii,2) - out(ii,3);
end
out(:,1) = 1:n+2;
out(:,end) = out(:,2)./out(:,3);

3 个评论

Thank you for your help. However, when I run the program, I get:
out =
1.0e+07 *
0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000
0.0000 0.0003 0.0002 0.0000
0.0000 0.0034 0.0025 0.0000
0.0000 0.0335 0.0245 0.0000
0.0000 0.3334 0.2434 0.0000
0.0000 3.3235 2.4235 0.0000
>> format short g
>> out
out =
            1           35           26       1.3462
            2          344          254       1.3543
            3         3398         2498       1.3603
            4        33686        24686       1.3646
            5    3.348e+05    2.448e+05       1.3676
            6   3.3336e+06   2.4336e+06       1.3698
            7   3.3235e+07   2.4235e+07       1.3714
Stephen23
Stephen23 2015-10-25
编辑:Stephen23 2015-10-25
@Viktoria Kolpacoff: what is the problem with that output? Remember that the factor 1.0e+07 * applies to all elements of the displayed array. You can use format to change how output is displayed in the command window.

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Matrix Indexing 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by