以下是我的MATLAB程序的基本框架。每个框都是一个类定义。
向下滚动以查看错误。
注意: 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对象时,就会出现这种情况
题
- 为什么会这样呢?
- 我在特定于Matlab的OOP概念上弄错了吗?
- 我该如何解决?
提前致谢!
PS:
代码
function o = wall() Tr = o.Troom*2; oN = round(1/o.dx) + 1; oT = Tr * ones(oN,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
回答:
room = compartment(); conc = concrete(); fire = fireProperties(Troom); 是的,您的问题就在那里。 Troom不能在properties块的上下文中使用。将常量放入Troom或将其移入它们所属的构造函数中。
更多&回答...