What is wrong in code of diffusion equation problem?
10 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Attila Monteiro de Abreu
am 17 Sep. 2016
Beantwortet: Byron Castillo
am 22 Jan. 2021
a=4; b=4; na=20; nb=16; k=5; to=80;
clear T
x=linspace(0,a,na);
y=linspace(0,b,nb);
[X,Y]=meshgrid(x,y);
for i=1:nb
for j=1:na
T(i,j)=0;
For n=1:k
Ns=2*n-1;
T(i,j)=T(i,j)+sin(ns*pi*X(i,j)/a).*sinh(ns*pi*Y(i,j)/a)/(sinh(ns*pi*b/a)*ns);
End
T(i,j)=T(i,j)*4*To/pi;
End
End
Mesh(X,Y,T)
Xlabel(‘x (m)’);ylabel(‘y (m)’);zlabel(‘T(^oC)’)
0 Kommentare
Akzeptierte Antwort
Walter Roberson
am 18 Sep. 2016
First of all you need to use for and end not For and End -- MATLAB is case sensitive.
Secondly, your line
Xlabel(‘x (m)’);ylabel(‘y (m)’);zlabel(‘T(^oC)’)
uses Unicode Character 'LEFT SINGLE QUOTATION MARK' (U+2018) and Unicode Character 'RIGHT SINGLE QUOTATION MARK' (U+2019) instead of apostrophe. U+2018 and U+2019 are also known as "smart quotes" because some editors automatically change apostrophes around words to these quotes because those quotes are used in publishing and writing text (but seldom in computer code.)
1 Kommentar
Weitere Antworten (1)
Byron Castillo
am 22 Jan. 2021
a=5; b=4; na=20; nb=16; k=5; T0=80;
clear T
x=linspace(0,a,na);
y=linspace(0,b,nb);
[X,Y]=meshgrid(x,y);
for i=1:nb
for j=1:na
T(i,j)=0;
for n=1:k
ns=2*n-1;
T(i,j)=T(i,j)+sin(ns*pi*X(i,j)/a).*sinh(ns*pi*Y(i,j)/
a)/(sinh(ns*pi*b/a)*ns);
end
T(i,j) = T(i,j)*4*T0/pi;
end
end
mesh(X,Y,T)
xlabel('x (m)'); ylabel('y (m)'); zlabel('T ( ^oC)')
0 Kommentare
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!