Undefined funcion variable error

1 view (last 30 days)
STP
STP on 22 Jan 2019
Answered: Image Analyst on 3 Feb 2019
% Constants
beta=5;
alfa = 2.*beta/(beta+1);
tau1=4.4;
tau2=5;
Tc=1.24;
Ta=0.66;
g=0;
gamma=alfa.*(2-exp(-tau1));
% Time frames
t1=0:0.01:tau1;
t11 = tau1:0.01:8;
t2 = tau1:0.01:tau2;
t22 = tau2:0.01:8;
t3 = tau2:0.01:8;
t'==t1./Ta
z'=1
Va=@(t)alfa.*exp(-(u.*t')).*(1-g.*z') - (alfa-1);
Va1=Va(t1);
plot(t1,Va1);
Undefined function or variable 't'.
  1 Comment
Jan
Jan on 22 Jan 2019
These lines are not correct:
t'==t1./Ta
z'=1
The second mus stop Matlab with an error. Therefore I cannot believe, that the definition of Va is reached to produce this error message. Please post the real code.

Sign in to comment.

Accepted Answer

madhan ravi
madhan ravi on 22 Jan 2019
Edited: madhan ravi on 22 Jan 2019
t=t1./Ta % you define t here
z=1
Va=@(t)alfa.*exp(-(u.*t)).*(1-g.*z) - (alfa-1); % also you have a @(t)?? you have some problem with naming variables
Va1=Va(t1);
plot(t1,Va1);
Notes:
  • ' in matlab denotes complex conjugate transpose
  • to assign a variable to a numerical number/s use "=" not "=="
  • u is not defined in your code
  • I strongly suggest you to read anonymous function (usage)
  • Also don't name the variable gamma it contradicts with matlab's in-built function gamma

More Answers (1)

Image Analyst
Image Analyst on 3 Feb 2019
You're doing a comparison
t'==t1./Ta
without sending the result to any variable. So it tries to get the variable "t" and take the transpose of it (because you used the apostrophe operator) so that it can compare it for equality to t1./Ta. The problem is t does not yet exist.
When you wrote that, what did you think t was supposed to be?

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!