Matlab中的未定义变量

时间:2010-05-24 13:18:13

标签: oop matlab

以下是我的MATLAB程序的基本框架。每个框都是一个类定义。

向下滚动查看错误。 alt text 注意: 1.每个类都有一个自定义构造函数


错误

Undefined function or variable 'Troom'.

Error in ==> wall>wall.wall at 31
        function o = wall(Tr)

Error in ==> mainfile at 5
        w1 = wall();

当我从另一个文件“mainfile”

创建Class wall的对象时,会出现这种情况

问题

  1. 为什么会这样?
  2. 我对Matlab特定的OOP概念出错了吗?
  3. 如何解决此问题?
  4. 提前致谢!


    PS: 代码

    function o = wall()
            Tr = o.Troom*2;
            o.N = round(1/o.dx) + 1;
            o.T = Tr * ones(o.N,1);
            o.Tinf = Tr;
            o.update_properties();
        end
    

    代码2

    classdef wall
    properties
        dx = 0.01;
        dt = 0.4;
        L = 0.16;
        N;
        tlimit = 1505.2;
        sbc = 5.670400e-8 % The Stefan-Boltzmann Constant
    
        a;
        hi; % Surface Conductivity of Inner Surface
        bi;
        ho; % Surface Conductivity of Outer Surface
        bo;
        lamb;
    
        Troom = 298; % Room Temperature (K)
        Tinf;
        T;
    
        room = compartment();
        conc = concrete();
        fire = fireProperties(Troom);
    
    end
    

1 个答案:

答案 0 :(得分:2)

room = compartment();
conc = concrete();
fire = fireProperties(Troom);

是的,那里有你的问题。 Troom不能在properties块的上下文中使用。将常量放入Troom中或将它们移动到它们所属的构造函数中。