如何在matlab中实现for循环

 我来答
NUAAJmantan
2016-01-09 · 知道合伙人教育行家
NUAAJmantan
知道合伙人教育行家
采纳数:53 获赞数:231
南京航空航天大学,航空宇航推进理论与工程2014级硕士在读

向TA提问 私信TA
展开全部

1.对于MATLAB里面的for循环,主要考虑3点:

  • 循环变量;

  • 循环范围(次数);

  • 命令执行。


2.例如:

n   = 10;            % 循环总次数
Val = 0;             % 预定义一个变量,并赋值为0
for j = 1:n          % 循环变量j一次为:1,2,...,n
    Val = Val + j;   % 对所有的循环变量做加法
end
kol浓眉
2016-01-03 · TA获得超过874个赞
知道小有建树答主
回答量:1103
采纳率:100%
帮助的人:460万
展开全部
推荐的做法是: 1. 如果每次循环产生等长的行向量,就把每次产生的行向量作为矩阵的一行,行标就是当前循环数; 2. 如果每次循环产生的向量不等长,就把每次产生的行向量作为cell数组的一个元素,下标就是当前循环数。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
shine戚七七
2016-01-04 · TA获得超过4.7万个赞
知道大有可为答主
回答量:2万
采纳率:75%
帮助的人:2690万
展开全部
Matlab中matlab中for 循环的原理和应用

for 循环是用在须重复执行且执行次数有一定的算式,它的结构如下:
for index = array
command A
end

如果我们要计算一缆车离铁塔的速度 (v),它的速度计算方式与且铁塔的距离 (d)有关,假设以 10 公尺为判断值,则速度计算分为二个算式:

假设有一个阵列 d 为缆车到铁塔的距离,则以下的for 循环可计算速对应的速度 >> for k = 1:length(d)
if d(k) <= 10
velocity = 0.425 + 0.00175*d(k)^2;
else
velocity = 0.625 + 0.12*d - 0.00025*d(k)^2;
end
fprintf('d= %f velocity= %f\n',d(k),velocity)
end
另外几个例子
>> for n=1:10
x(n)=sin(n*pi/10);
end
>> disp(x)
>> for n=1:5
for m=5:-1:1
A(n,m)=n^2+m^2;
end
disp(n)
end
>> disp(A)
但是如果可以用阵列或是矩阵运算来取代以for 循环计算,就应采用前者因为计算速度快多了。上述的例子 可改为
>> n=1:10;
>> x=sin(n*pi/10);
使用 for 循环的规则如下:
上述的 for 循环中的指标 (index) 须为是一变数。
如果 array 代表阵列是空无一物,则循环不会被执行,例如 k=1:0。
如果 array 代表阵列是一纯量,则循环会被执行一次,例如 k=1:1。
如果 array 代表阵列是一向量,则循环会被依序的执行,例如 k=1:b, b=[1 3 5]。 如果 array 代表阵列是一矩阵,则循环会被逐行依序的执行,例如 k=1:B, B=[1 2; 3 4]。
for 完整的语法为: for k = first:increment:last,其中的 first, increment, last分别为初始值,增量,终止值。而循环被执行的次数由以下的算式决定: 1. 2. 3. 4. 5. 6.
floor((last-first)/increment)+1
如果计算得到的值为负,则循环不被执行。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式