symbolic calculation in MATLAB

1 view (last 30 days)
syms x t
U=zeros(1,2,'sym');
series1(x,t)=sym(zeros(1,1));
for k=1:10
U(k)=(-x)^k-1/(factorial(k))
end
for k=1:9
series1(x,t)=simplify(series1(x,t)+U(k)*(power(t,k-1)));
end
series1
C1=zeros(1);
for x=1:3:6
e=(x-1);
for t=1:3:6
f=(t-1)/10;
C1(x,t)=series1(e,f);
end
end
vpa(C1,15)
In command window following result is dispalyed:
[ -1.0, 0, 0, -1.16619602524777]
[ 0, 0, 0, 0]
[ 0, 0, 0, 0]
[ -4.0, 0, 0, -3.35685995524777]
Why in between zeros are diaplayed and if I dont want to dispaly the zeros what changes should I make?

Accepted Answer

Awais Saeed
Awais Saeed on 7 Dec 2021
You are not storing in C1 properly. You are using x and t, whihc are incrementing with a step size of 3.
syms x t
U=zeros(1,2,'sym');
series1(x,t)=sym(zeros(1,1));
for k=1:10
U(k)=(-x)^k-1/(factorial(k));
end
for k=1:9
series1(x,t)=simplify(series1(x,t)+U(k)*(power(t,k-1)));
end
row = 0;
for x=1:3:6
row = row + 1;
col = 0;
e=(x-1);
for t=1:3:6
col = col + 1;
f=(t-1)/10;
C1(row,col)=series1(e,f);
end
end
vpa(C1,15)
ans = 

More Answers (0)

Categories

Find more on Symbolic Math Toolbox 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!