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

5 Ansichten (letzte 30 Tage)
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.

Akzeptierte Antwort

KSSV
KSSV am 18 Apr. 2022
Bearbeitet: KSSV am 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')

Weitere Antworten (0)

Kategorien

Mehr zu Engines & Motors finden Sie in Help Center und File Exchange

Tags

Produkte


Version

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by