Adding a row and column is a matrix
12 次查看(过去 30 天)
显示 更早的评论
I intializes a zero matrix [#bus,#bus] (name it z). And would like to increase a row and a column and do that in a for loop (name it zmod).
Moreover, the new row should be equal to the transposed of the new column.
How can I do this?
0 个评论
回答(1 个)
William Rose
2021-3-29
This code creates a square array of zeros. Then it adds a row and a column which are transpose of eachother, in a for loop, until it reaches the FinalSize.
%augmentArray.m
%WCRose 20210329
clear;
InitSize=3;
FinalSize=5;
z=zeros(InitSize);
zmod=z;
for i=InitSize:FinalSize-1
a=rand(i,1); %column to add
b=[a',rand(1)]; %row to add
zmod=[zmod,a;b];
end
disp(zmod)
Try it.
4 个评论
William Rose
2021-3-30
Then you could change the for loop to the following:
for i=InitSize:FinalSize-1
a=zeros(i,1); %column to add
b=zeros(1,i+1); %row to add
zmod=[zmod,a;b];
end
or you could do
for i=InitSize:FinalSize-1
zmod=[zmod,zeros(i,1);zeros(1,i+1)];
end
If that is what you want to do, then the script above seems unnecessary. You could replace the whole script with the line
zmod=zeros(FinalSize);
which produces the same result as the for loop.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!