实验1:程序设计基础实验
1.1 基础训练
1.数列{xn}的定义是x1 = 0, x2 = 1, xn= xn-1 + 2xn-2(n=3,4···)
用循环语句编程给出该数列的前40项(要求将结果用行向量x存储)。
代码:
clear;
clc;
x = zeros(1,40); %产生一个含有40个0的行向量赋值给x
x(1) = 0;
x(2) = 1; %对前两项赋值
for i = 3:40
x(i)=x(i-1)+2*x(i-2);
end %利用循环结构进行其余项赋值
disp(x); %输出x
运行结果
2. 算法设计, 循环语句与枚举法
请找出1到1000中满足a2-100b=a的正整数 a,b(1<=a<=1000,1<=b<=1000).编写函数依次返回行向量a,b(其中a(i),b(i)为第i组解),其中数组a中元素是递增排序.请先写出求解算法,再给出程序.
解:
算法:
开始
初始化 x 范围为 1 到 1000 的数组
初始化 y 为和 x 相同的数组
创建一个二维网格 X 和 Y,其中 X 和 Y 分别为 x 和 y 的扩展矩阵
根据条件 X^2 - 100*Y == X,在网格中找到符合条件的索引
将符合条件的值赋给变量 a 和 b
返回变量 a 和 b
结束
代码:
function [a, b] = experiment2_fun() %定义函数
x = [1