matlab中当数值太大时如何化简使得matlab能够计算?需要计算以下式子的函数值,log(exp(x)+exp(y)+exp(z)),因为x,y和z的数值都非常大,以至于matlab中exp(x)的计算结果显示为lnf,请问大家有没有什么办法可

来源:学生作业帮助网 编辑:作业帮 时间:2024/03/29 21:34:03
matlab中当数值太大时如何化简使得matlab能够计算?需要计算以下式子的函数值,log(exp(x)+exp(y)+exp(z)),因为x,y和z的数值都非常大,以至于matlab中exp(x)的计算结果显示为lnf,请问大家有没有什么办法可

matlab中当数值太大时如何化简使得matlab能够计算?需要计算以下式子的函数值,log(exp(x)+exp(y)+exp(z)),因为x,y和z的数值都非常大,以至于matlab中exp(x)的计算结果显示为lnf,请问大家有没有什么办法可
matlab中当数值太大时如何化简使得matlab能够计算?
需要计算以下式子的函数值,log(exp(x)+exp(y)+exp(z)),因为x,y和z的数值都非常大,以至于matlab中exp(x)的计算结果显示为lnf,请问大家有没有什么办法可以对log(exp(x)+exp(y)+exp(z))进行化简,从而使得可以计算?
我试过了,进行处理之后,y-x和z-x的值还有达到几十万的,仍然没有办法计算。
实际上我的问题中,y和z都是包含待定系数的变量,如x=a+1000b,y=c+1050d,z=e+1100f
其中,a,b,c,d,e,f是我需要估计的参数,且它们都是正数,因为我代入初始值之后,exp(x)无法计算,所以我想看看有没什么化简的办法。

matlab中当数值太大时如何化简使得matlab能够计算?需要计算以下式子的函数值,log(exp(x)+exp(y)+exp(z)),因为x,y和z的数值都非常大,以至于matlab中exp(x)的计算结果显示为lnf,请问大家有没有什么办法可

Min = min(x,y,z)
log[exp(x) + exp(y) + exp(z)]
= log[exp(x-Min) + exp(y-Min) + exp(z-Min)] + Min
--------------------
参数有范围吗?
若有的话,
就采用 ggggwhw 的方案.
比如,如果知道 x,y,z的1个上限,M > MAX(X,Y,Z).
M可以由参数的范围确定.
那么
ln[e^x + e^y + e^z] = ln{e^M[e^(x-M) + e^(y-M) + e^(z-M)]}
= ln[e^(x-M) + e^(y-M) + e^(z-M)] + M
这个时侯,x-M

x,y,z相互的差如果不大, 那就做差
算一下全微分, 然后计算个近似值吧.

楼上的这个方法很好。
不过
应当是

Min = min(x,y,z)
log[exp(x) + exp(y) + exp(z)]
= log[exp(x/Min) + exp(y/Min) + exp(z/Min)] + Min 这里是除

我觉得下面的方法更合适,
假定x≥y≥z,有可能x=10^99,y=10^98,z=10^97,此时x-z后差仍然很大,
不如改成:
㏒(e^x+e^y+e^z)=
㏒(1+e^(y-x)+e^(z-x))+x,
如果y,z与x差值很大,e^(y-x)和e^(z-x)不是很大,而是趋向0.
所以无论如何都可以出结果.

matlab中当数值太大时如何化简使得matlab能够计算?需要计算以下式子的函数值,log(exp(x)+exp(y)+exp(z)),因为x,y和z的数值都非常大,以至于matlab中exp(x)的计算结果显示为lnf,请问大家有没有什么办法可 如何Excel表中设置公式,使N行M列区域中随机设置数值,行列之和都等于指定数值?图中共18行8列,*号区域为用公式随机设置的数值,使得这些数值每行求和都等于60,每列求和都等于100 matlab中imshow(log(abs(F)+1),[ ])最后一个方括号的数值如何设置 matlab中如何将数值类型的矩阵转成字符类型的矩阵 MATLAB中定义一个未知矩阵,在到入一维数值时,默认为行矩阵,怎么设置使得matlab输入数值后默认为列矩阵补充下:不想定义一个已知行和列的矩阵,因为我想要的矩阵的行列是未知的. 在M分之七中,M为整数,当M等于()时,分数无意义,当M 等于()时,分数值最大. 在Excel中假设有AB两个单元格.当A格数值小于或等于B格数值时,则用A格数值减去B格数值请问如何使用公式? matlab 中如何调用M文件中函数? matlab中如何表示f(t)当t=0时为值a MATLAB中知道Xm=sqrt((s+m)*(s-m+1)),如何算当s=1,m=0时候的X0? Matlab中自定义函数如何创建M文件? MATLAB中如何利用M文件建立矩阵 matlab中这个erfc怎么解决公式中在其他数值都已知的情况下如何求出D的数值.最好能提供matalb代码. Matlab中如何求导? matlab求和.符号运算如图所示的公式,Bij为已知的矩阵,Wij为未知变量,我希望通过符号运算把这个式子拆开,请问该怎么编程让matlab计算.(当m和n很大时自己输入计算量太大)我已经知道怎么一 matlab中,如何保留4位小数位数.如 b=34.670512,要使得 a=34.6705. 请问matlab中如何将坐标原点设在右上角?使得x轴向左为正,y轴向下为正? MATLAB的gui中全局变量在哪里定义普通的全局变量我知道在文件的顶部定义,然后在用的函数中声明,但是MATLAB中当把控件放到GUI的空白模板中时,生成的M文件中全是函数,如何定义?