Index exceeds number of array elements

2 vues (au cours des 30 derniers jours)
Mohammed Haque
Mohammed Haque le 17 Avr 2022
I am trying to write up the code for solving the heat transfer equation for a sphere and i have receieved the following error message.
Index exceeds number of array elements
Index exceeds the number of array elements. Index must not exceed 1600.
I am new to coding and any help to fix this would be very much appreciated.

Réponses (2)

KALYAN ACHARJYA
KALYAN ACHARJYA le 17 Avr 2022
Modifié(e) : KALYAN ACHARJYA le 17 Avr 2022
I didnot find any coding syntax error, but code improvement is required.
r1=17.6e-2; % inner radius of sphere, m
r2=23.6e-2; % outer radius of sphere, m
k=0.034; % thermal conductivity of sphere wall, W /(m C)
bc1=40; % temperature at inner sphere wall, deg C
bc2=-81; % temperature at outer sphere wall, deg C
n=100*2*2*2*2; % number of unknown temperatures between the two radii
m=(r2-r1)/(n+1); % step size: difference between two consecutive difference pointa, m
%%%%%%%%%% GENERATION OF MATRIX A5
for i=1:n
r(i)=r1+i*m;
a(i,i)=-2*r(i)^2/m^2;
if(i==1)
a(i,i+1)=(r(i)^2/m^2 +r(i)/(m));
end
if((i>1)&&(i<n))
a(i,i-1)=(r(i)^2/m^2 -r(i)/(m));
a(i,i+1)=(r(i)^2/m^2 +r(i)/(m));
end
if(i==n)
a(i,i-1)=(r(i)^2/m^2 -r(i)/(m));
end
end
%%%% BOUNDARY CONDITION MATRIX GENERATION OF MATRIX B5
b(1,1)=-(r(1)^2/m^2 -r(i)/(m))*bc1;
b(n,1)=-(r(n)^2/m^2 +r(i)/(m))*bc2;
t=inv(a)*b;
temp(1,1)=bc1;
temp(2:n+1,1)=t(1:n);
temp(n+2,1)=bc2;
radius(1,1)=r1;
radius(2:n+1,1)=r(1:n);
radius(n+2,1)=r2;
figure,
plot(radius,temp)
xlabel('Radius, m','fontsize',20,'fontweight','b')
ylabel('Temperature, (^{o}C)','fontsize',20,'fontweight','b')

Torsten
Torsten le 17 Avr 2022
Maybe it's interesting to compare with the analytical solution:
T(r ) = a/r + b
where
a = 121/(1/0.176 - 1/0.236)
b = 40 - a/0.176

Catégories

En savoir plus sur Sparse Matrices dans Help Center et File Exchange

Tags

Produits


Version

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by