首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何压缩n-1,n-2,...在for循环中(matlab)?

如何压缩n-1,n-2,...在for循环中(matlab)?
EN

Stack Overflow用户
提问于 2012-10-10 07:51:31
回答 2查看 2.3K关注 0票数 0

我正在寻找输入标准,因为矩阵的大小每次都会减少。

我试着简化我正在做的事情,看看压缩它是否可行。

是否有一种方法可以简化下面的公式,这样就不需要n-1、n-2等,并且代码可以适应输入矩阵。

代码语言:javascript
复制
a = [2 4 5 6; 7 5 3 5; 6 7 9 4];
a
n = length(a(1,:));
b = [5];

for i = n,

    a = a.*b;

    a(:,n-1)=[];

    a

    a = a.*b;

a(:,n-2)=[];

a

a = a.*b;

a(:,n-3)=[];

a

end

我希望能够在每次迭代时看到输出。例如:

代码语言:javascript
复制
a =

     2     4     5     6
     7     5     3     5
     6     7     9     4


a =

    10    20    30
    35    25    25
    30    35    20


a =

    50   150
   175   125
   150   100


a =

   750
   625
   500
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-10-10 08:28:39

在语法中使用FOR循环

代码语言:javascript
复制
for i = starting_index:increment:ending_index

从n-1倒数到1,如下所示:

代码语言:javascript
复制
for i = n-1:-1:1 % Count down from n-1 to 1
    a = a.*b;
    a(:,i)=[];
    a
end
票数 3
EN

Stack Overflow用户

发布于 2012-10-10 08:30:12

尝尝这个

代码语言:javascript
复制
a = [2 4 5 6; 7 5 3 5; 6 7 9 4]

n = size(a,1);
b = [5];
for i=1:n
    a = a(:,end-1).*b
end

我现在还不能访问Matlab,所以它可能不会像你想的那样工作。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12810032

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档