plot graph for multiple values for one of the variables on the same axis (and in different colours)

11 views (last 30 days)
I want to plot multiple lines for different values of r2 % outer radius of sphere, m
Please can someone help me?
r1=18e-2; % inner radius of sphere, m
>> r2=24e-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(1)
>> plot(radius,temp)
>> xlabel('Radius, m','fontsize',20,'fontweight','b')
>> ylabel('Temperature, (^{o}C)','fontsize',20,'fontweight','b')
r2 values:[24e-2,30e-2,36e-2]
thank you for your time.

Accepted Answer

KSSV
KSSV on 18 Apr 2022
Edited: KSSV on 18 Apr 2022
You have to initilaize the variables inside the loop. Read about initliaing an array in aloop.
r1=18e-2; % inner radius of sphere, m
r2=24e-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
R2 = [24e-2,30e-2,36e-2] ;
for j = 1:length(R2)
r2 = R2(j) ;
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;
R(:,j) = radius' ;
T(:,j) = temp' ;
end
figure(1)
plot(R,T)
xlabel('Radius, m','fontsize',20,'fontweight','b')
ylabel('Temperature, (^{o}C)','fontsize',20,'fontweight','b')

More Answers (0)

Categories

Find more on Networks in Help Center and File Exchange

Tags

Products


Release

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by