matlab里面积分时报错在inlinea=1.2;b=1.78;alfa=4.1;l1=0.4;l2=2.05;alfa=alfa*pi/180;h=0.4724;f=inline('(-a/2+x*tan(alfa))*(a*x*tan(alfa)-x^2*(tan(alfa))^2)+a^2*asin((-a+2*x*tan(alfa))/a)','x');quad(f,0.1,1)我知道把a b alfa 等带入f里面
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/05 19:35:30
![matlab里面积分时报错在inlinea=1.2;b=1.78;alfa=4.1;l1=0.4;l2=2.05;alfa=alfa*pi/180;h=0.4724;f=inline('(-a/2+x*tan(alfa))*(a*x*tan(alfa)-x^2*(tan(alfa))^2)+a^2*asin((-a+2*x*tan(alfa))/a)','x');quad(f,0.1,1)我知道把a b alfa 等带入f里面](/uploads/image/z/10914785-17-5.jpg?t=matlab%E9%87%8C%E9%9D%A2%E7%A7%AF%E5%88%86%E6%97%B6%E6%8A%A5%E9%94%99%E5%9C%A8inlinea%3D1.2%3Bb%3D1.78%3Balfa%3D4.1%3Bl1%3D0.4%3Bl2%3D2.05%3Balfa%3Dalfa%2Api%2F180%3Bh%3D0.4724%3Bf%3Dinline%28%27%28-a%2F2%2Bx%2Atan%28alfa%29%29%2A%28a%2Ax%2Atan%28alfa%29-x%5E2%2A%28tan%28alfa%29%29%5E2%29%2Ba%5E2%2Aasin%28%28-a%2B2%2Ax%2Atan%28alfa%29%29%2Fa%29%27%2C%27x%27%29%3Bquad%28f%2C0.1%2C1%29%E6%88%91%E7%9F%A5%E9%81%93%E6%8A%8Aa+b+alfa+%E7%AD%89%E5%B8%A6%E5%85%A5f%E9%87%8C%E9%9D%A2)
matlab里面积分时报错在inlinea=1.2;b=1.78;alfa=4.1;l1=0.4;l2=2.05;alfa=alfa*pi/180;h=0.4724;f=inline('(-a/2+x*tan(alfa))*(a*x*tan(alfa)-x^2*(tan(alfa))^2)+a^2*asin((-a+2*x*tan(alfa))/a)','x');quad(f,0.1,1)我知道把a b alfa 等带入f里面
matlab里面积分时报错在inline
a=1.2;b=1.78;alfa=4.1;l1=0.4;l2=2.05;
alfa=alfa*pi/180;h=0.4724;
f=inline('(-a/2+x*tan(alfa))*(a*x*tan(alfa)-x^2*(tan(alfa))^2)+a^2*asin((-a+2*x*tan(alfa))/a)','x');
quad(f,0.1,1)
我知道把a b alfa 等带入f里面的式子可以运行,但是为什么在前面声明就不行了
matlab里面积分时报错在inlinea=1.2;b=1.78;alfa=4.1;l1=0.4;l2=2.05;alfa=alfa*pi/180;h=0.4724;f=inline('(-a/2+x*tan(alfa))*(a*x*tan(alfa)-x^2*(tan(alfa))^2)+a^2*asin((-a+2*x*tan(alfa))/a)','x');quad(f,0.1,1)我知道把a b alfa 等带入f里面
f=inline('(-a/2+x*tan(alfa))*(a*x*tan(alfa)-x^2*(tan(alfa))^2)+a^2*asin((-a+2*x*tan(alfa))/a)','x');
是把一个字符串转为函数,所以a,b alfa 等不会代入数值
可改为
f=@(x)(-a/2+x*tan(alfa)).*(a*x.*tan(alfa)-x.^2*(tan(alfa))^2)+a^2*asin((-a+2*x.*tan(alfa))/a);
即可
quad(f,0.1,1)
ans =
-1.6010