Execute function. Matlab
조회 수: 4 (최근 30일)
이전 댓글 표시
I have a class. There are some properties and anonymous functions into this class:
classdef Parabolic
properties (Access = public)
a = 0;
b = 0;
c = 0;
F = @(t, x) 0;
%%There are othere code
end
properties (Access = private)
Z = [];
u = [];
method = 0;
border = @(k, psi) 0;
%%There are othere code
end
%%There are othere code
methods(Access = public)
function Calculate(this)
[X, P] = meshgrid(solver.La : solver.h : solver.Lb, solver.Ta : solver.tau : solver.Tb);
a = this.a
b = this.b;
c = this.c;
this.Z = this.F(X, P); % Function
end
end
end;
I initialize some properties and after it, I execute this method it:
But I have such error:
Undefined function or variable 'a'.
What does it cause this error?
댓글 수: 3
Adam
2015년 11월 26일
Your example code here looks quite a lot different to that. For a start it uses neither global nor eval anywhere which is a big improvement, but I still don't see the purpose of using a function handle here rather than a regular class method if what you actually want is for your function to use class properties anyway.
I have use function handles as class properties before so I'm not saying it is never of use, but in this case I am not seeing the value.
채택된 답변
hedgehogues
2015년 11월 26일
댓글 수: 1
Adam
2015년 11월 26일
Using eval instead of function handles is a bad solution in general, but I guess if it works for you then that is fine for as long as it does work!
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Function Creation에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!