matlab 怎样更改小数点后面的位数?
默认的是0.0000小数点后面是4位,如何改成更长的位数? pians =
3.1416
>> format long
>> pi
ans =
3.141592653589793
>> 回复 2 # meiyongyuandeze 的帖子
有的数会这样显示啊
M1 =
1.0e+005 *
Columns 1 through 7
0.00000524454475 0.00000537470803 0.00000000567869 0.00000000037219 0.00000000000979-0.00000035238926-0.00000403848505
0.00000537470803 0.00000552743069 0.00000000583010 0.00000000000979-0.00000000037219 0.00000034323765-0.00000413831257
0.00000000567869 0.00000000583010 0.00000000942503-0.00000035238926 0.00000034323765 0-0.00000000438066
我不想这样显示,能否换成另一种形式 比如说1.235e+10这种形式的
回复 3 # weideyong8 的帖子
a=0.00054816548974
a =
5.4817e-004
>> format long e
>> a
a =
5.481654897400001e-004是不是想例子这样?? 回复 4 # meiyongyuandeze 的帖子
是的 谢谢 回复 4 # meiyongyuandeze 的帖子
你好 请问 输入inv(M1) %输入这个命令 提示警告,怎么解决啊
能出结果 但是有警告!怎么解决啊
Warning: Matrix is close to singular or badly scaled.
Results may be inaccurate. RCOND = 2.308810e-022.
为什么会这样啊? 回复 6 # weideyong8 的帖子
说明你的矩阵M1是病态的,求逆的话会出错!一般来说这是求得逆应该是广义逆。
可以用pinv(A)可以按照默认的精度求Moore-Penrose广义逆矩阵,当然也可以按照指定的精度求广义逆,可以参将help文件。
在matlab中可能就这个好办法了。还可尝试奇异值分解方法。
回复 7 # meiyongyuandeze 的帖子
应用pinv命令 能保证这个逆例如A
pinv(A)*A=单位矩阵吗?
好像不等于单位矩阵啊 本帖最后由 meiyongyuandeze 于 2011-4-30 13:58 编辑
回复 8 # weideyong8 的帖子
病态矩阵的逆是根本不存在的,广义逆矩阵的定义是,存在一个矩阵N,满足ANA=A,称N为A的广义逆矩阵。 回复 9 # meiyongyuandeze 的帖子
你说的对 我的矩阵的数量级差不多能相差10^10吧,这样怎么解决啊?解决这个病态矩阵? 解决矩阵的病态问题可能要看一些关于矩阵理论和数值计算累的专业书籍吧,这个应该是专业问题! 回复 11 # meiyongyuandeze 的帖子
size(Ki5heng)
ans =
31 31
>> rank(Ki5heng)
ans =
28
>> det(Ki5heng)
ans =
9.989084322069472e+290
这是怎么回事啊?明明矩阵是奇异的怎么行列式不为零啊!!! 利用format long可以更改成15为小数的,如果只要显示的话可以尝试一下vpa函数
页:
[1]