Warning: Explicit integral could not be found, not taking integral
2 次查看(过去 30 天)
显示 更早的评论
May u please find, where i am doing wrong? It is not working...
Warning: Explicit integral could not be found.
It is giving me this error message. It will find firstly Y then , with the result of Y it will find X value...This will be a loop. I wrote where the error is happening .U can see on below %%%%%%Should i take the integral numerically ?
clc;clear all
a =10;
b =10;
h =0.1;
E =210*10^9;
v =0.3;
q=100;
Dp = E*h^3/(12*(1-v^2));
%%%%------------
pi=3.1415926;
syms x
X1 = 1-cos(2*pi*x/a);
p=X1
for i=1:2
dXdxx=diff(p,x,2);
dXdxxxx=diff(p,x,4);
b1= simplify(int(p*dXdxxxx,0,a));
b2= 2*(int(p*dXdxx,0,a));
b3=int(p*p,0,a);
bv= int(p*(q/Dp),0,a)
k1=b1;
k2=b2;
k3=b3;
kv=bv;
syms y %d1 d2 d3 d4 h1 h2 h3 hv
denk1='k1*Y+k2*D2Y+k3*D4Y-kv=0'
bs1='Y(0)=0,DY(0)=0,Y(10)=0,Y(10)=0,DY(10)=0','y';
Y1=dsolve(denk1,bs1,'y');
m=Y1
dYdyy = diff(m,y,2);
dYdyyyy = diff(m,y,4);
%%%%error is happening in there. It is not taking integral of function. And also function is including k1,k2,k3... insteading of showing me the integers of k1 k2 k3... Because k1 k2 k3 they are already integers...But i am seeing symbolic .For example dYdyyyy , it is taking diferantial with symbolicly. When i copy and paste the result on a below line, it is giving me integer values of k1 k2 k3....in dYdyyyy(for example)
d1 = int(m*m,0,10);
d2 = 2*(int(m*dYdyy,0,b));
d3 = int(m*dYdyyyy,0,b);
dv = int(m*(q/Dp),0,b);
h1=d1;
h2=d2;
h3=d3;
hv=dv;
A=dsolve('h1*D4X+h2*D2X+h3*D4X-hv=0','X(0)=0','DX(0)=0','X(10)=0','DX(10)=0','x');
p=A
end
Xson=p
Yson=m
function w=fin(x,y)
w=p*m
end
0 个评论
采纳的回答
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Numerical Integration and Differential Equations 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!