Неопределенная переменная в Matlab - PullRequest
1 голос
/ 24 мая 2010

Ниже приведен базовый элемент моей программы 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();

Это происходит, когда я создаю объект Class wall из другого файла "mainfile"


Вопрос

  1. Почемуэто происходит?
  2. Я ошибаюсь в понятиях ООП для конкретного Matlab?
  3. Как мне решить эту проблему?

Заранее спасибо!


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 Ответ

2 голосов
/ 24 мая 2010
room = compartment();
conc = concrete();
fire = fireProperties(Troom);

Да, тут есть твоя проблема.Troom нельзя использовать в контексте блока properties.Либо вставьте константу для Troom, либо переместите их в конструктор, которому они принадлежат.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...