getting error as integralParseArgs
5 次查看(过去 30 天)
显示 更早的评论
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/293460/image.jpeg)
Hi all,
i am trying to solve the above equation in matlab, but when i am trying to substitute the alp values and x1 values in code and i am getting an error as matrix dimensions must agree while solving the code
any suggestions and thanks in advance
clc;
clear;
format short
ro= 17.5; R = 65; %polar boss opening radius and radius of cylinder
wa= asind(ro/R); b= 1.225*ro; % winding angle
x = b:5:R;
y = ro:0.45:b;
x1 = x/R;
y1 = y/R;
alp = asind(ro./x); alp1 = asind(ro./y);
i = zeros(size(alp));
j= zeros(size(x1));
for c = 1:numel(alp,x1)
func1= @(x)((cosd(wa).*(x.^3))./((sqrt(1-(x.^3))).*((cosd(wa)*cosd(wa)).*((x.^2).*(1+(x.^2)))-(sind(alp).*sind(alp)))));
i(c) = integral(func1,1,alp(c),x1(c));
end
0 个评论
采纳的回答
Ameer Hamza
2020-5-16
Which variable represent ρ is not clear. Also, the syntax for calling integral is incorrect. Try this code
clc;
clear;
format short
ro= 17.5; R = 65; %polar boss opening radius and radius of cylinder
wa= asind(ro/R); b= 1.225*ro; % winding angle
x = b:5:R;
y = ro:0.45:b;
x1 = x/R;
y1 = y/R;
alp = asind(ro./x); alp1 = asind(ro./y);
i = zeros(size(alp));
j= zeros(size(x1));
for c = 1:numel(alp)
func1= @(x)((cosd(wa).*(x.^3))./((sqrt(1-(x.^3))).*((cosd(wa)*cosd(wa)).*((x.^2).*(1+(x.^2)))-(sind(alp(c)).*sind(alp(c))))));
i(c) = integral(func1,1,x(c));
end
5 个评论
Ameer Hamza
2020-5-16
There seems to be some problem with the limits of integration or the function itself. If you plot the denominator in the limit of integration, you get the following curve
figure
den = @(y) ((sqrt(1-(y.^3))).*((cosd(wa).*cosd(wa)).*((y.^2).*(1+(y.^2)))-(sind(alp1(d)).*sind(alp1(d)))));
a1 = linspace(y(1)/65, 1, 1000);
a2 = den(a1);
plot(a1, a2);
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/293481/image.png)
As you can see, the curve passes through y=0, which means that it has a singularity at that point, which might make the integral diverge. You need to figure out how to avoid this singularity.
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!