Error with double integration
Afficher commentaires plus anciens
I got error while solving the following equation.
clear all; close all; clc
syms a b;
ae = 0.5;
be = 0.6;
R = 0.01;
E = (2.1*10^11)./(1-0.3);
A = pi*E*R;
k = (6*1.3)./(7+6*0.3);
m = 1.3;
h =@(b) ae./(2*sqrt(1-2*b^2));
F1 = sqrt(tan((pi*h(b))/2)./((pi*h(b))/2)).*(0.752+2.02*h(b)+0.37*(1-sin((pi*h(b))/2)).^3)./cos((pi*h(b))./2);
F2 = sqrt(tan((pi*h(b))/2)./((pi*h(b))/2)).*(0.923+0.199*(1-sin((pi*h(b))/2)).^4)./cos((pi*h(b))./2);
F3 = (1.122-0.561*h(b)+0.085*(h(b)^2)+0.18*(h(b)^3))./sqrt(1-h(b));
F4 = sqrt(tan((pi*h(b))/2)./((pi*h(b))/2));
C11 = @(a, b)((1/A).*((a/2).*(((F1(b)).^2)+m.*((F4(b)).^2))))
g11 = integral2(C11(a,b),0,ae,-be,be)
Any kind of help will be highly appriciated.
Réponses (2)
madhan ravi
le 28 Fév 2019
Modifié(e) : madhan ravi
le 28 Fév 2019
Just make the below changes:
h=matlabFunction(h); % remove @(b) in h
F1=@(b)...
F4=@(b)...
%Remove (a,b) from C11 in line g11
YOu need not to use syms
ae = 0.5;
be = 0.6;
R = 0.01;
E = (2.1*10.^11)./(1-0.3);
A = pi*E*R;
k = (6*1.3)./(7+6*0.3);
m = 1.3;
h =@(b) ae./(2*sqrt(1-2*b.^2));
F1 = @(b) sqrt(tan((pi*h(b))/2)./((pi*h(b))/2)).*(0.752+2.02*h(b)+0.37*(1-sin((pi*h(b))/2)).^3)./cos((pi*h(b))./2);
F2 = @(a) sqrt(tan((pi*h(b))/2)./((pi*h(b))/2)).*(0.923+0.199*(1-sin((pi*h(b))/2)).^4)./cos((pi*h(b))./2);
F3 = @(b) (1.122-0.561*h(b)+0.085*(h(b).^2)+0.18*(h(b).^3))./sqrt(1-h(b));
F4 = @(b) sqrt(tan((pi*h(b))/2)./((pi*h(b))/2));
C11 = @(a, b)((1/A).*((a/2).*(((F1(b)).^2)+m.*((F4(b)).^2))))
g11 = integral2(C11,0,ae,-be,be)
I strongly advice you to check the code and confirm, the result. Read about intergal2.
Catégories
En savoir plus sur Symbolic Math Toolbox dans Centre d'aide et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!