トラフィックシミュレーションを開発するために、構造体MATLABクラス&を使用して作業してきました。以前はMATLABのクラスで積極的に仕事をしていなかったので、時には少し難解です。この質問には、クラスのプロパティである構造体の操作が含まれます。MATLABのクラスプロパティである構造体を操作する
トップレベルのアクセス
vehicles_handle = VehiclesHandle;
vehicles_handle.CreateVehicles(InitialTrafficDensity);
vehicles_handle.vehicles(1)
クラス定義今
classdef VehiclesHandle
%VEHICLESHANDLE Summary of this class goes here
% Detailed explanation goes here
properties
active_vehicles_count
vehicles
end
methods (Access = public)
function obj = VehiclesHandle
obj.active_vehicles_count = 0;
obj.vehicles = struct('lane',0,'position',0,'velocity',0);
end
function obj = CreateVehicles(obj,InitialTrafficDensity)
obj.active_vehicles_count = obj.active_vehicles_count + 1;
obj.vehicles(1).lane = 1;
obj.vehicles(1).position = 3;
obj.vehicles(1).velocity = 3;
obj.vehicles(2).lane = 2;
obj.vehicles(2).position = 3;
obj.vehicles(2).velocity = 3;
end
予想通り、私は(vehicles_handle.vehicles(1)である)の出力を見ることができない、私はそれらを参照車両1の特性を0とする。もちろん、VehicleHandleという関数に入れたときの状況は変わりますが、このように車両の作成を処理したいのです。
私はこのコードがこれを処理する最も効率的な方法ではないかもしれないことは知っていますが、実際にこのクラスの構造体を痛みなしに処理する方法について学びたいと思っています。すべての建設的なコメントと助けをお寄せいただきありがとうございます。問題退治
ありがとう – mozcelikors