MATLAB矩阵循环赋值,为啥不行呢?求正解 50
N=1:1:10;forj=1:length(N)y=1:1:10;L=zeros(100,length(y));L(:,1)=1000;fori=1:length(N)...
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 展开
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 展开
1个回答
2018-03-22 · 知道合伙人互联网行家
关注
展开全部
<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>
追问
按照这个框架给出一个程序可以么
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询