How can I make summation using variable symbol

clc
clear
syms p
a=[0.01;0.015];%The cofficeient next to power in the IFC equation
b=[8.5;9.5];%The cofficeientin the IFC equation
B=[4e-4 0; 0 4e-4];
pl =[];
for i=1:length(a)
for j=1:length(a)
pl = pl + p(i)*B(i,j)*p(j)
end
end
Also, can I later on differentiate the pl equation based on p(i)? so i can find dpl/dp1 or dpl/dp2 using such code
for i=1:length(a)
dpl(i)=diff(pl,p(i))
k(i)=1/(1-dpl(i));
end

 采纳的回答

clc
clear
ng = 2;
syms p [1 ng]
a=[0.01;0.015];%The cofficeient next to power in the IFC equation
b=[8.5;9.5];%The cofficeientin the IFC equation
B=[4e-4 0; 0 4e-4];
for i=1:length(a)
for j=1:length(a)
pl(j,i) = p(i)*B(i,j)*p(j);
end
Pl(i) = sum(pl(:,i));
end
Pl = sum(Pl)
Pl = 
dp1=diff(Pl,p1); % differentiate with p1
dp2=diff(Pl,p2); % differentiate with p2
Dp = [dp1 dp2];
k=1./(1-Dp)
k = 

1 个评论

Thank you alot. For the differentiation part it will only find dp1 and dp2 while i need it to find dp3 or dp10 depending on the matrix of a thats why I used for loop

请先登录,再进行评论。

更多回答(0 个)

类别

产品

版本

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by