Undefined funcion variable error

1 Ansicht (letzte 30 Tage)
STP
STP am 22 Jan. 2019
Beantwortet: Image Analyst am 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 Kommentar
Jan
Jan am 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.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

madhan ravi
madhan ravi am 22 Jan. 2019
Bearbeitet: madhan ravi am 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

Weitere Antworten (1)

Image Analyst
Image Analyst am 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!

Translated by