MATLAB矩阵循环赋值,为啥不行呢?求正解

N=1:1:10;
for j= 1:length(N)
y=1:1:10;
L=zeros(100,length(y));
L(:,1)=1000;
for i= 1:length(N)
L(j,i+1)=L(j,i)-100;
end
end

<p>MATLAB二维矩阵赋值和C语言相仿,除了以下几点差别:</p><p>下标从1开始而不是0;</p><p>索引使用(i,j)而不是[i][j];</p><p>可以一个语句对多个元素(包括整个矩阵)同时赋值。</p><p>你说的只能给第一行赋值肯定是谢的代码有错,以下是一个简单的例子: </p> <p> A=zeros(5,4);for r=1:5, for c=1:4,A(r,c)=r*10+c;end, end</p> <p>你可以对照一下,看问题出在哪里。</p> <p> </p> <p>for循环可以有a=a+5这样的语句,但不能有a+=5,因+=不是MATLAB的操作符。但是要注意,MATLAB 的for循环是基于索引的,这意味着,假如你的循环是for a=...的表达式,你不可能像C语言里那样通过再循环体内部修改a的值去改变循环的次数。</p><p> </p>追问

按照这个框架给出一个程序可以么

温馨提示:答案为网友推荐,仅供参考