matlab中如何输出数值解

头晕。。不会用matlab
我计算的结果是这个。。。,怎么让直接输出一个数值。。。
g =

int(-sin(x)*(((157*(1 - (79535835963070513903504789767225*sin(x)^2)/81129638414606681695789005144064)^(1/2))/100 - (1 - 78419152826149003888299582518893161/32451855365842672678315602057625600*sin(x)^2)^(1/2))^2/(2*((157*(1 - (79535835963070513903504789767225*sin(x)^2)/81129638414606681695789005144064)^(1/2))/100 + (1 - (78419152826149003888299582518893161*sin(x)^2)/32451855365842672678315602057625600)^(1/2))^2) + ((1 - (79535835963070513903504789767225*sin(x)^2)/81129638414606681695789005144064)^(1/2) - (157*(1 - (78419152826149003888299582518893161*sin(x)^2)/32451855365842672678315602057625600)^(1/2))/100)^2/(2*((1 - (79535835963070513903504789767225*sin(x)^2)/81129638414606681695789005144064)^(1/2) + (157*(1 - (78419152826149003888299582518893161*sin(x)^2)/32451855365842672678315602057625600)^(1/2))/100)^2) - 1), x = 0..asin(113712479216728525/176766285374291968))

1、打开matlab软件主界面,如图所示。

2、在命令窗口输入内容后,加上分号,回车后,输出数据不显示。若内容后面不带分号,回车后,输出数据可显示。如图所示。

3、在脚本文件里,可以选用disp显示函数对输出内容进行显示。如图所示。

4、也可以用fprintf函数显示数据,格式为fprintf(format,data),format为打印数据格式,data代表打印的标量或数组。如图所示。

5、fprintf函数括号内的%6.2代表第一个数据项占有6个字符宽度,小数点后的数值表示有2位小数,\n表示换行。如图所示。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-03-01

如果使用int计算定积分无法得到显式解,可用double(g)或vpa(g)获得数值结果(后者可以指定有效数字的位数,默认为32位)。

 

根据实际测试,在6.5和2013a上都可以求出来,但2007b上面求解失败,原因不明。

>> syms x
>> g=int(-sin(x)*(((157*(1 - (79535835963070513903504789767225*sin(x)^2)/81129638414606681695789005144064)^(1/2))/100 - (1 - 78419152826149003888299582518893161/32451855365842672678315602057625600*sin(x)^2)^(1/2))^2/(2*((157*(1 - (79535835963070513903504789767225*sin(x)^2)/81129638414606681695789005144064)^(1/2))/100 + (1 - (78419152826149003888299582518893161*sin(x)^2)/32451855365842672678315602057625600)^(1/2))^2) + ((1 - (79535835963070513903504789767225*sin(x)^2)/81129638414606681695789005144064)^(1/2) - (157*(1 - (78419152826149003888299582518893161*sin(x)^2)/32451855365842672678315602057625600)^(1/2))/100)^2/(2*((1 - (79535835963070513903504789767225*sin(x)^2)/81129638414606681695789005144064)^(1/2) + (157*(1 - (78419152826149003888299582518893161*sin(x)^2)/32451855365842672678315602057625600)^(1/2))/100)^2) - 1),0,asin(113712479216728525/176766285374291968))
Warning: Explicit integral could not be found.
> In D:\MATLAB6p5\toolbox\symbolic\@sym\int.m at line 58
 
g =
 
int(-sin(x)*(1/2*(157/100*(1-8830251636901045/9007199254740992*sin(x)^2)^(1/2)-(1-2720710907474673/1125899906842624*sin(x)^2)^(1/2))^2/(157/100*(1-8830251636901045/9007199254740992*sin(x)^2)^(1/2)+(1-8502221585858353/3518437208883200*sin(x)^2)^(1/2))^2+1/2*((1-8830251636901045/9007199254740992*sin(x)^2)^(1/2)-157/100*(1-8502221585858353/3518437208883200*sin(x)^2)^(1/2))^2/((1-8830251636901045/9007199254740992*sin(x)^2)^(1/2)+157/100*(1-8502221585858353/3518437208883200*sin(x)^2)^(1/2))^2-1),x = 0 .. 786769134575155/1125899906842624)
 
>> double(g)
ans =
          0.20913681519715
>> vpa(g)

ans =

.20913681519714970155060790992650

本回答被提问者和网友采纳
第2个回答  推荐于2016-07-02
)数值解(numerical solution)则是采用某种计算方法,例如如有限元的方法,数值逼近,插值的方法,
得到的解。其结果为数值形式,而不能随意给出自变量并求出计算值。当无法通过微积分求得解析解时,这时便只能利用数值分析的方式来求其数值解。在数值分析的过程中,首先会将原方程式加以简化,以利后来的数值分析。例如,会先将微分符号改为差分符号等。然后再用传统的代数方法将原方程式改写成另一方便求解的形式。这时的求解步骤就是将一独立变量带入,求得相依变量的近似解。因此利用此方法所求得的相依变量为一个个分离的数值〈discretevalues〉,不像解析解为一连续的分布,而且因为经过上述简化的动作,所以可以想见正确性将不如解析法来的好。

例如:

x^2=10;

则x=sqrt(10)为解析解;

而x=3.1623为数值解。
第3个回答  2013-08-12
使用函数g1=eval(g)试试
相似回答