Code wont work keeps giving error message: Argument to dynamic structure reference must evaluate to a valid field name.

10 visualizzazioni (ultimi 30 giorni)
this is my code:
t=0:0.001:10; wn= 0.898; a= 0.843; z= 0.005122; wd=0.897;
y= a*(exp.(-z*wn*t))*(sin(wd*t)) and I keep getting the same error message can someone help please thanks

Risposte (2)

Jan
Jan il 30 Set 2017
Modificato: Jan il 30 Set 2017
In "exp.(-z*wn*t)" the term "exp" is treated as a struct and "(-z*wn*t)" as a field name. "S.(name)" is a reference by a dynamic field name, when S is a struct and name a string.
Most likely you want:
y = a * exp(-z * wn * t) * sin(wd * t);

Star Strider
Star Strider il 30 Set 2017
Put the ‘dot operator’ here instead:
y = a*(exp(-z*wn*t)) .* (sin(wd*t))
That will do the element-wise multiplication you intend.

Categorie

Scopri di più su Structures in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by