unable to find symbolic solution
1 回表示 (過去 30 日間)
古いコメントを表示
%heat conduction with an electrical heat source in copper wire
clc; clear;
close all;
%parameters
R = 0.2; % radius in m
L = 10; % length of wire in m
ke = 60000000; % electrical conductivity of copper in S/m
k = 401; % thermal conductivity of copper in W/m.K
I = 10; % electrical current in Amp
Se = (I*I)/ke; % rate of heat production per unit volume
T0 = 20 % Temp in Celcius
%Energy Balance in cylindrical shell of thickness del(r) and length L
% Doing the energy balance and taking del(r) common and limiting it to 0, a
% linear differential equation is formed.
% SOLVING DIFFERENTIAL EQUATION
syms q(r) %q is the heat flux
ode45 = diff(r*q,r) == Se*r
cond = q(0)~=Inf;%B.C at r = 0,q~=inf is invalid so we took it's value 0 to get similar answer
qSol(r)=dsolve(ode45,cond)
%Temperature Profile
syms T(r)
ode45 = diff(T,r) ==(-Se*r/(2*T))
cond = q(R)==T0;
TSol(r)=dsolve(ode45,cond)
0 件のコメント
採用された回答
Stephan
2020 年 11 月 23 日
1.
The condition for the second ode is invalid - i assume you meant:
cond = T(R)==T0;
instead of
cond = q(R)==T0;
2.
As you stated by yourself in the code replace:
cond = q(0)~=Inf; %B.C at r = 0,q~=inf is invalid so we took it's value 0 to get similar answer
by
cond = q(0)==0; %B.C at r = 0,q~=inf is invalid so we took it's value 0 to get similar answer
3.
And finally i recommend to replace the variable ode45 by ode, because this can cause trouble due to an inbuilt function named ode45.
Making those changes worked well:
%heat conduction with an electrical heat source in copper wire
clc; clear;
close all;
%parameters
R = 0.2; % radius in m
L = 10; % length of wire in m
ke = 60000000; % electrical conductivity of copper in S/m
k = 401; % thermal conductivity of copper in W/m.K
I = 10; % electrical current in Amp
Se = (I*I)/ke; % rate of heat production per unit volume
T0 = 20 % Temp in Celcius
%Energy Balance in cylindrical shell of thickness del(r) and length L
% Doing the energy balance and taking del(r) common and limiting it to 0, a
% linear differential equation is formed.
% SOLVING DIFFERENTIAL EQUATION
syms q(r) %q is the heat flux
ode = diff(r*q,r) == Se*r
cond = q(0)==0;%B.C at r = 0,q~=inf is invalid so we took it's value 0 to get similar answer
qSol(r)=dsolve(ode,cond)
%Temperature Profile
syms T(r)
ode = diff(T,r) ==(-Se*r/(2*T))
cond = T(R)==T0;
TSol(r)=dsolve(ode,cond)
4 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Calculus についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!