What changes should have been made to run the code
Afficher commentaires plus anciens
%% HERE is the code
format long
wt=pi/2;
t=1;
% t=0.01:0.01:5;
% w=pi/2;
w=wt./t;
R=10;H=2;M=5;Kp=0.5;Gr=5;Gc=5;Kc=1;Pr=7;Sc=0.3;
y=0:0.01:5;
% y=0;
P1=abs(R-H); P2=M+(1/Kp);P3=sym(P2+1i*w);P4=sym(P2-1i*w);
P6=Gr/(P1-P2);P7=Gc/(Kc-P2);P5=(P6+P7);P8=(P1*Pr-P2)/(Pr-1);P9=Gr/(Pr-1);
P10=(Sc*Kc-P2)/(Sc-1);P11=Gc/(Sc-1);P12=-(P11/P10^2)-(P9/P8^2);P13=(P11/P10)+(P9/P8);
T1=(t+(y/2)*(sqrt(Pr/P1))).*exp(y*sqrt(Pr*P1)).*(1-erf((y/2).*sqrt(Pr./t)+sqrt(P1.*t)));
T2=(t-(y/2)*(sqrt(Pr/P1))).*exp(-y*sqrt(Pr*P1)).*(1-erf((y/2)*sqrt(Pr./t)-sqrt(P1.*t)));
C1=(t+(y/2)*(sqrt(Sc/Kc))).*exp(y*sqrt(Sc/Kc)).*(1-erf((y/2)*sqrt(Sc./t)+sqrt(Kc.*t)));
C2=(t-(y/2)*(sqrt(Sc/Kc))).*exp(-y*sqrt(Sc/Kc)).*(1-erf((y/2)*sqrt(Sc./t)-sqrt(Kc.*t)));
T=(T1+T2)/2;C=(C1+C2)/2;
U1=exp(y*sqrt(P2)).*(1-erf(y./(2.*sqrt(t))+ sqrt(P2.*t)));
U2=exp(-y*sqrt(P2)).*(1-erf(y./(2.*sqrt(t))- sqrt(P2.*t)));
U3=exp(y*sqrt(P1*Pr)).*(1-erf((y./2)*sqrt(Pr./t)+ sqrt(P1.*t)));
U4=exp(-y*sqrt(P1*Pr)).*(1-erf((y./2)*sqrt(Pr./t)- sqrt(P1.*t)));
U5=exp(y*sqrt(Sc*Kc)).*(1-erf((y./2)*sqrt(Sc./t)+ sqrt(Kc.*t)));
U6=exp(-y*sqrt(Sc*Kc)).*(1-erf((y./2)*sqrt(Sc./t)- sqrt(Kc.*t)));
U7=exp(y*sqrt(P3)).*(1-erf(y./(2.*sqrt(t))+ sqrt(P3.*t)));
U8=exp(-y*sqrt(P3)).*(1-erf(y./(2.*sqrt(t))- sqrt(P3.*t)));
U9=exp(y*sqrt(P4)).*(1-erf(y./(2.*sqrt(t))+ sqrt(P4.*t)));
U10=exp(-y*sqrt(P4)).*(1-erf(y./(2.*sqrt(t))- sqrt(P4.*t)));
U=(P12/2).*(U1+U2)+(P13/2)*((t+(y/(2*sqrt(P2)))).*U1+(t-(y/(2*sqrt(P2)))).*U2)+((P9/(2*(P8^2))).*exp(-P8.*t)+(P11/(2*(P10^2))).*exp(-P10.*t)).*(U1+U2)+...
(P9/(2*P8^2)).*(U3+U4)-(P9/(2*P8))*((t+(y/2)*sqrt(Pr/P1)).*U3+(t-(y/2)*sqrt(Pr/P1)).*U4)-(P9/(2*P8^2)).*exp(-P8.*t).*(U3+U4)+...
(P11/(2*P10^2)).*(U5+U6)-(P11/(2*P10))*((t+(y/2)*sqrt(Sc/Kc)).*U5+(t-(y/2)*sqrt(Sc/Kc)).*U6)-...
(P11/(2*P10^2)).*exp(-P10.*t).*(U5+U6) +exp(1i*wt)*(1/4).*(U7+U8)+exp(-1i*wt)*(1/4).*(U9+U10);
%% S1: Partial derivative of 'U(t,y)' w.r.t 'y', S2: Partial derivative of 'T(t,y)' w.r.t 'y',
S1= - diff(U,y);
S2= - diff(T,y);
v_t=0.01:0.01:5;
Sk = subs(S1,y,0);
Nu=subs(S2,y,0);
figure(1)
plot(v_t,vpa(subs(Sk,t,v_t)))
xlabel(' t');
ylabel('Sk');
hold on
figure(2)
plot(v_t,vpa(subs(Nu,t,v_t)))
xlabel(' t');
ylabel('Nu');
hold on
%%We need to draw graph of Partial derivative of 'U(t,y)' w.r.t 'y' and 'T(t,y)' w.r.t 'y'
at y=0 for t=0.01:0.01:5;
%% While running the code the following ERROR occurs:
Error using sym/diff (line 69)
The second argument must be a variable or a nonnegative integer specifying the number of differentiations.
Error in (line 37)
S1= - diff(U,y);
%%ANOTHER error for S2 is :
Error using diff
Difference order N must be a positive integer scalar.
Error in (line 38)
S2= - diff(T,y);
5 commentaires
MINATI
le 18 Mai 2019
madhan ravi
le 18 Mai 2019
Anytime ,
1) Before pasting in the forum, select the code which is in MATLAB and then press ctrl + i which makes smart indent.
2) Copy that code , paste it here and you select the code.
3) Finally press the code button.
MINATI
le 18 Mai 2019
KALYAN ACHARJYA
le 18 Mai 2019
S1= - diff(U,y);
%............^.....
Here the y value must be in integer as per diff definitions
In your case y is 1x501 double, therefore it reflect an error as below
Error using sym/diff (line 70)
Second argument must be a variable or a nonnegative integer specifying the number of differentiations.
Error in ans_may19 (line 37)
S1= - diff(U,y);
MINATI
le 19 Mai 2019
Réponses (1)
Mr. Pavl M.
le 27 Nov 2024
Modifié(e) : Mr. Pavl M.
le 27 Nov 2024
clc
clear all
close all
%amended code that plots:
format long
wt=pi/2;
t=1;
% t=0.01:0.01:5;
% w=pi/2;
w=wt./t;
R=10;H=2;M=5;Kp=0.5;Gr=5;Gc=5;Kc=1;Pr=7;Sc=0.3;
y=0:0.01:5;
% y=0;
syms y t U T
P1=abs(R-H); P2=M+(1/Kp);
P3=sym(P2+1i*w);P4=sym(P2-1i*w);
P6=Gr/(P1-P2);P7=Gc/(Kc-P2);
P5=(P6+P7);P8=(P1*Pr-P2)/(Pr-1);
P9=Gr/(Pr-1);
P10=(Sc*Kc-P2)/(Sc-1);
P11=Gc/(Sc-1);
P12=-(P11/P10^2)-(P9/P8^2);
P13=(P11/P10)+(P9/P8);
T1=(t+(y/2)*(sqrt(Pr/P1))).*exp(y*sqrt(Pr*P1)).*(1-erf((y/2).*sqrt(Pr./t)+sqrt(P1.*t)));
T2=(t-(y/2)*(sqrt(Pr/P1))).*exp(-y*sqrt(Pr*P1)).*(1-erf((y/2)*sqrt(Pr./t)-sqrt(P1.*t)));
C1=(t+(y/2)*(sqrt(Sc/Kc))).*exp(y*sqrt(Sc/Kc)).*(1-erf((y/2)*sqrt(Sc./t)+sqrt(Kc.*t)));
C2=(t-(y/2)*(sqrt(Sc/Kc))).*exp(-y*sqrt(Sc/Kc)).*(1-erf((y/2)*sqrt(Sc./t)-sqrt(Kc.*t)));
T=(T1+T2)/2;C=(C1+C2)/2;
U1=exp(y*sqrt(P2)).*(1-erf(y./(2.*sqrt(t))+ sqrt(P2.*t)));
U2=exp(-y*sqrt(P2)).*(1-erf(y./(2.*sqrt(t))- sqrt(P2.*t)));
U3=exp(y*sqrt(P1*Pr)).*(1-erf((y./2)*sqrt(Pr./t)+ sqrt(P1.*t)));
U4=exp(-y*sqrt(P1*Pr)).*(1-erf((y./2)*sqrt(Pr./t)- sqrt(P1.*t)));
U5=exp(y*sqrt(Sc*Kc)).*(1-erf((y./2)*sqrt(Sc./t)+ sqrt(Kc.*t)));
U6=exp(-y*sqrt(Sc*Kc)).*(1-erf((y./2)*sqrt(Sc./t)- sqrt(Kc.*t)));
U7=exp(y*sqrt(P3)).*(1-erf(y./(2.*sqrt(t))+ sqrt(P3.*t)));
U8=exp(-y*sqrt(P3)).*(1-erf(y./(2.*sqrt(t))- sqrt(P3.*t)));
U9=exp(y*sqrt(P4)).*(1-erf(y./(2.*sqrt(t))+ sqrt(P4.*t)));
U10=exp(-y*sqrt(P4)).*(1-erf(y./(2.*sqrt(t))- sqrt(P4.*t)));
U=(P12/2).*(U1+U2)+(P13/2)*((t+(y/(2*sqrt(P2)))).*U1+(t-(y/(2*sqrt(P2)))).*U2)+((P9/(2*(P8^2))).*exp(-P8.*t)+(P11/(2*(P10^2))).*exp(-P10.*t)).*(U1+U2)+...
(P9/(2*P8^2)).*(U3+U4)-(P9/(2*P8))*((t+(y/2)*sqrt(Pr/P1)).*U3+(t-(y/2)*sqrt(Pr/P1)).*U4)-(P9/(2*P8^2)).*exp(-P8.*t).*(U3+U4)+...
(P11/(2*P10^2)).*(U5+U6)-(P11/(2*P10))*((t+(y/2)*sqrt(Sc/Kc)).*U5+(t-(y/2)*sqrt(Sc/Kc)).*U6)-...
(P11/(2*P10^2)).*exp(-P10.*t).*(U5+U6) +exp(1i*wt)*(1/4).*(U7+U8)+exp(-1i*wt)*(1/4).*(U9+U10);
%% S1: Partial derivative of 'U(t,y)' w.r.t 'y',
% S2: Partial derivative of 'T(t,y)' w.r.t 'y',
S1= - diff(U,y);
S2= - diff(T,y);
v_t=0.01:0.01:5;
Sk = vpa(subs(S1,y,0));
Nu= vpa(subs(S2,y,0));
figure(1)
plot(v_t,vpa(subs(Sk,t,v_t)))
xlabel(' t');
ylabel('Sk');
hold on
figure(2)
plot(v_t,vpa(subs(Nu,t,v_t)))
xlabel(' t');
ylabel('Nu');
hold on
Catégories
En savoir plus sur Signal Operations dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

