matlab 求积分,上下限都是一个数组,要求出这些上下限对应的全部值,求代码。
symsabhdb=0.6;a=1.78/2;d=2.2.367415;int(2000*d*sqrt(a^2*(1-((h-b)^2)/(b^2))),h,数组1,数组...
syms a b h d
b=0.6;a=1.78/2;d=2.2.367415;
int(2000*d*sqrt(a^2*(1-((h-b)^2)/(b^2))),h,数组1,数组2)
请问这样是不是有问题 展开
b=0.6;a=1.78/2;d=2.2.367415;
int(2000*d*sqrt(a^2*(1-((h-b)^2)/(b^2))),h,数组1,数组2)
请问这样是不是有问题 展开
展开全部
当然有问题了!d=2.2.367415,这是个数吗?不能识别的!,将后面的数组1,2去掉,可以运行,不过数太吓人了!
追问
对,应该d=2.367415
但是我运行出来不是一个数组
程序是这样的:
syms a b h d d1 d2 h0 up1 down1
b=0.6;a=1.78/2;d=2.367415;d1=0.4;d2=2.05;h0=0.41129;
up1=(d1+d2)*tan(4.1*pi/180);down1=0;
ans=vpa(int((int(2000*sqrt(a^2*(1-((h-b)^2)/(b^2))),h,0,h))/tan(4.1*pi/180),h,down1,up1)-215)
一个一个输入h0能运行出结果,我现在有80多个h0需要一个一个算,所以我想用数组的形式求解,请问有什么办法吗?
追答
编写一个m文件,
function y=axs(a1)
m=length(a1);
for i=1:m
令h0=a1(i);
end就行了!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询