Matlab - 修改类属性

时间:2014-05-31 12:58:56

标签: matlab class attributes

我试图用Matlab模拟汽车的位置。 到目前为止,我已经创建了一个代表汽车的类,其中包含公共属性position(obj.position),speed(obj.vIst)和delta(obj.delat)。 Delta表示时间步长。 当我开车时,我想通过添加实际速度来改变它的位置。不幸的是它没有工作......

代码

fprintf(' \n Position: %4.0f',  obj.position );
obj.position = obj.position + obj.vIst*obj.delta;
fprintf(' \n Position: %4.0f',  obj.position );

创建以下输出:

Position: 1000
Position: 

我做错了什么?这与句柄或价值类有什么关系吗?我很确定我的问题很愚蠢,但我刚刚开始使用Matlab,所以我在这里需要一些帮助...

非常感谢。

班级定义:

classdef myCar < handle
    %UNTITLED Summary of this class goes here
    %   Detailed explanation goes here

properties
    id;
    typ;
    startzeit;
    vStart;
    posStart;

    position;
    vIst;
    vSoll;
    vMax;
    laenge;
    aktiv = false;
    vMaxStrecke;

    POI;
    vPOI;
    POIaktiv = false;

    bremswegZumPOI;
    bremsverzoegerung = 0.8;

    aGeg = [];
    vGeg = [];
    delta;

    zeitLinie = [];
    vIstLinie = [];
    posLinie= [];
    vSollLinie = [];
end

methods
    function drive(obj, time)
            fprintf(' \n in fahre: %4.0f',  obj.position );
            obj.position = obj.position + obj.vIst*obj.delta;
            fprintf(' \n in fahre: %4.0f',  obj.position );

            obj.zeitLinie = [obj.zeitLinie, time];
            obj.vIstLinie = [obj.vIstLinie, obj.vIst];
    end
end
end

从另一个管理多辆汽车的脚本调用Method驱动器。

0 个答案:

没有答案