24小时热门版块排行榜    

查看: 596  |  回复: 2

王风0304

新虫 (初入文坛)

[求助] 小白请教大佬,我用Matlab求解下图中的k怎么求解不出? 已有1人参与

>> syms x,k
t=(k*51*0.9/(sqrt(72.5^2-x^2)-72.5+51+20))
28585.35=1327767.26-int(pi*(sqrt((72.5-t)^2-x^2)-((72.5-t)-51-(20-t)))^2,-50,50)
vpa(k)

发自小木虫Android客户端
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hzlhm

至尊木虫 (著名写手)

【答案】应助回帖

感谢参与,应助指数 +1
用试探法来求解。可以得到k =  0.9024167372,其计算误差小于1e-6。
1、首先,试探法确定 k 的范围
2、其二,使用quad函数求其积分
3、其三,计算误差,abs(S-28585.35),当err<=1e-6时,此时的k即为所求。
QQ:2120156492
2楼2020-04-30 15:48:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hzlhm

至尊木虫 (著名写手)

【答案】应助回帖

for k =  0.90241673:1e-10:0.90241674
    syms x
    t=(k*51*0.9/(sqrt(72.5^2-x^2)-72.5+51+20));
    eq=pi*(sqrt((72.5-t)^2-x^2)-((72.5-t)-51-(20-t)))^2;
    func=@(x)eval(eq);
    S=1327767.26-quad(func,-50,50);%double();
    if abs( S-28585.35)<=1e-6
        k
    end
end
QQ:2120156492
3楼2020-04-30 21:31:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 王风0304 的主题更新
信息提示
请填处理意见