2016-09-07 21 views
0

トラフィックシミュレーションを開発するために、構造体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という関数に入れたときの状況は変わりますが、このように車両の作成を処理したいのです。

私はこのコードがこれを処理する最も効率的な方法ではないかもしれないことは知っていますが、実際にこのクラスの構造体を痛みなしに処理する方法について学びたいと思っています。すべての建設的なコメントと助けをお寄せいただきありがとうございます。問題退治

答えて

関連する問題