How can I write a matlab code for the below mentioned expression?

where
ne(a,b) = 0 for (a=b)
= 1 for (a not equal to b)
H(x) is the heavyside function
I have an 1D domain in x and is divided into no. of cells. and so on are the cell boundaries with i=1,2.......
is the representative point of the cell (here its the mid point of the cell)
Taking for example =5, how can I write the code in Matlab so that I get separate expressions for for i=1,2,3,4,5?

 採用された回答

Basil C.
Basil C. 2019 年 7 月 4 日
編集済み: Basil C. 2019 年 7 月 4 日

0 投票

Hi Anomitra,
For the variable 'ne' you could define it as a Np x Np with diagonal elements as 0 and non diagonal elements as 1
ne= ne=ones(Np)-diag(ones(1,Np));
For H(x) you could you the function 'heaviside'
heaviside(x(j)+x(k)-xb(i))
Also to define B(i) you could use the for loop
B=zeros(1,Np)
for i=1:Np
for j=1:Np
for k=1:j
B(i)=B(i)+0.5*(1+ne(j,k))*heaviside(x(j)+x(k)+xb(i))-heaviside(x(j)+x(k)-xb(i))*(j+k)*N(j)*N(k);
end
end
end

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangePerformance and Memory についてさらに検索

製品

リリース

R2013a

質問済み:

2019 年 7 月 4 日

編集済み:

2019 年 7 月 4 日

Community Treasure Hunt

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

Start Hunting!

Translated by