标签:解析几何 非线性方程 matlab mathematica geogebra
看到有人问:
已知拱高10.4米的圆弧弧长36.7米,求圆的半径和圆心角(最好附带Matlab程序)。怎么限制x是锐角?
顺便把三个软件都用一遍,用它们各自擅长的。实际上,这个问题而言,单独用任何一款都能画图和解方程(是的,Geogebra不但画图厉害,解这个方程也实际上顶呱呱)。
先根据大致情况推导一番(Geogebra作图)
因为
可以利用的关系从图上看出还有:
由此三个关系知道:
Plot[f[x],{x,1,20},PlotPoints->1000,AspectRatio->1,AxesOrigin->{0,0},PlotStyle->Red,AxesStyle->Arrowheads[.035],AxesLabel->(Style[#,Bold,Italic,18,FontFamily->"TimesNewRoman"]&/@{"x","y"}),ImageSize->600,TicksStyle->Directive[{FontFamily->"Arial",Black,12}],AspectRatio->2,Ticks->{Range[21]-1,Automatic},PlotRange->{{0,18},{-80,50}}]
从图上曲线趋势以及从导数的取值和符号应可以得到满足条件的
比如Matlab中fsolve可以轻松得到:
s=36.7;h=10.4;
x0=1.0;
r=fsolve(@(r)2*h^2+r^2-4*h*r-r^2*cos(s/r),x0);
disp(num2str(r,‘%10.8lf‘))
得到:
5.32327124
s=36.7;h=10.4;
x0=10;
r=fsolve(@(r)2*h^2+r^2-4*h*r-r^2*cos(s/r),x0);disp(num2str(r,‘%16.9f‘))
得到:
11.183055764
s=36.7;h=10.4;
x0=18;
r=fsolve(@(r)2*h^2+r^2-4*h*r-r^2*cos(s/r),x0);disp(num2str(r,‘%16.9f‘))
得到:
13.999546228
到这里关键的问题就算解决了。
关于限制“锐角”的问题,则不在本解答范畴。因为,原问题表达非常模糊,如果问题如所问已经给出,则
版权声明:stereohomology原创本文于CSDN博客,无原始链接之转载视为认可“10欧元每字符”之报酬。
标签:解析几何 非线性方程 matlab mathematica geogebra
原文地址:http://blog.csdn.net/stereohomology/article/details/46887851