Execute function. Matlab
1 view (last 30 days)
Show older comments
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 Comments
Adam
on 26 Nov 2015
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.
Accepted Answer
hedgehogues
on 26 Nov 2015
1 Comment
Adam
on 26 Nov 2015
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!
More Answers (0)
See Also
Categories
Find more on Whos in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!