Problems with declaring the variable right
5 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Good day everyone, sadly I got the following problem with my current task that I don't know how to define the right variable for the current calculation:
for i= 0:14
xkt1(i+1)= xg*sin(2*pi*F1*(k1.*T-i*T));
end
with:
xg= 7*2*5*1*6*3;
xh= 3/10;
F1=3;
F2=100;
T= 1/500;
xkt1=zeros(0:14);
xkt2=zeros(0:14);
k1 is the variable and I tried syms, @(k1) and k1=[ ];, sadly nothing worked and either it had problems of converting it into double, or simply wasnt able to use it correctly, if someone with more knowledge about matlab could help me, I would be really grateful.
Sincerely
Jan C. Faber
0 Kommentare
Akzeptierte Antwort
Voss
am 15 Mai 2022
Using symbolic k1 and xkt1:
syms k1 xkt1
xg= 7*2*5*1*6*3;
xh= 3/10;
F1=3;
F2=100;
T= 1/500;
for i= 0:14
xkt1(i+1)= xg*sin(2*pi*F1*(k1.*T-i*T));
end
xkt1
% evaluate xkt1(1) at k1 = 0, get a symbolic expression:
subs(xkt1(1),k1,0)
% evaluate xkt1(1) at k1 = 0, get a numeric value:
double(subs(xkt1(1),k1,0))
% evaluate xkt1(2) at k1 = 0, get a symbolic expression:
subs(xkt1(2),k1,0)
% evaluate xkt1(2) at k1 = 0, get a numeric value:
double(subs(xkt1(2),k1,0))
Alternatively, using a cell array of anonymous functions:
xg= 7*2*5*1*6*3;
xh= 3/10;
F1=3;
F2=100;
T= 1/500;
xkt1=cell(1,15);
for i= 0:14
xkt1{i+1}= @(k1)xg*sin(2*pi*F1*(k1.*T-i*T));
end
xkt1
% evaluate xkt1{1} at k1 = 0:
xkt1{1}(0)
% evaluate xkt1{2} at k1 = 0:
xkt1{2}(0)
2 Kommentare
Siehe auch
Kategorien
Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!