最近for循环一直不是很清楚,看了些例题,记录一下。
(1)例:输出1~100的和
sum = 0;
for i = 1:100
sum = sum + i;
end
sum
(2)例:输出1到10之间的奇数和
sum = 0;
for i = 1:2:100
sum = sum + i;
end
sum
(3)对向量的遍历
A = rand(2,4);
for i = A
i
end
(4)计算并输出1到10之间所有整数的平方
for i = 1:10
square = i^2;
disp(square);
end
(5)输出一个由字母'A'重复5次构成的字符串
str = '';
for i = 1:5
str = [str, 'A'];
end
disp(str);
(6)输出一个由1到5之间的整数构成的向量
vec = [];
for i = 1:5
vec = [vec, i];
end
disp(vec);
(7)计算并输出1到10之间所有偶数的平方根
for i = 2:2:10
sqrt_val = sqrt(i);
disp(sqrt_val);
end
(8)计算并输出1到10之间所有奇数的累加乘积
product = 1;
for i = 1:2:9
product = product * i;
end
disp(product);
(9)输出一个倒序的由10到1之间所有整数构成的向量
vec = [];
for i = 10:-1:1
vec = [vec, i];
end
disp(vec);
(10)输出一个由斐波那契数列的前10个数构成的向量
fib = [1, 1];
for i = 3:10
fib(i) = fib(i-1) + fib(i-2);
end
disp(fib);
开始上点难度了哦~
(11)找出一个给定向量中所有大于平均值的元素,并将它们存储在另一个向量中:
vector = [3, 8, 4, 2, 10, 6];
avg = mean(vector);
result = [];
for i = 1:length(vector)
if vector(i) > avg
result = [result, vector(i)];
end
end
disp(result);
(12)嵌套循环:生成一个九九乘法表
for i = 1:9
for j = 1:9
product = i * j;
fprintf('%d x %d = %d\n', i, j, product);
end
end
(13)编写一个程序,计算Fibonacci数列的前20个数字
fib = zeros(1,20);
fib(1) = 0;
fib(2) = 1;
for i = 3:20
fib(i) = fib(i-1)+fib(i-2);
end
disp(fib);
(14)编写一个程序,找出一个给定矩阵中每行的最大值,并计算它们的平均值:
matrix = [4, 2, 7; 9, 5, 1; 3, 8, 6];
max_values = zeros(1, size(matrix, 1));
for i = 1:size(matrix, 1)
max_values(i) = max(matrix(i, :));
end
avg = mean(max_values);
disp(avg);
(15)编写一个程序,生成帕斯卡三角形的前10行:
triangle = zeros(10);
for i = 1:10
for j = 1:i
if j == 1 || j == i
triangle(i, j) = 1;
else
triangle(i, j) = triangle(i-1, j-1) + triangle(i-1, j);
end
end
end
disp(triangle);