下一章 上一章 目录 设置
2、nerualoutput ...
-
function neurualoutput
num_experiments = 1001;
experiment_duration = 1;
sample_time = 0.1;
num_samples = experiment_duration / sample_time;
% 定义状态向量和输入向量的大小
state_dim = 13; % 状态向量的维度 [x, y, z, q0, q1, q2, q3, vx, vy, vz, wx, wy, wz]
input_dim = 4; % 输入向量的维度 [T, tau_x, tau_y, tau_z]
% 初始化数据存储
X_data = cell(num_experiments, 1);
U_data = cell(num_experiments, 1);
% 进行 1001 次实验
for exp = 1:num_experiments
% 生成随机初始状态和输入
initial_state = rand(state_dim, 1);
state = initial_state;
X = zeros(num_samples, state_dim);
U = zeros(num_samples, input_dim);
for t = 1:num_samples
% 随机输入
input = rand(input_dim, 1);
% 保存当前状态和输入
X(t, :) = state';
U(t, :) = input';
% 状态更新 (实际的四旋翼机动力学模型)
state = quadrotorStateFcn(state, input);
state = state + rand(state_dim, 1) - 0.5; % 添加一些随机变化
end
% 存储实验数据
X_data{exp} = X;
U_data{exp} = U;
end
save('experiment_data.mat', 'X_data', 'U_data');
end
cell数组的储存