弱弱的问一句,关于matlab的问题在哪个区问

zhangwuji154 2010-03-12 11:27:49
没找到,只好先在这儿问了。
小弟是用C++的,对于matlab实在太菜,忘高手相助。

我有个.m格式的文件,
B = [1.0000 0.0000 2.0000 3.0000 ;
0.0000 1.0000 3.0000 -2.0000 ;
1.0000 0.0000 9.0000 12.0000 ;
0.0000 1.0000 12.0000 -9.0000 ;
1.0000 0.0000 16.0000 17.0000 ;
0.0000 1.0000 17.0000 -16.0000 ;
];
BT = B'
L = [3.0000 ;
3.0000 ;
3.0000 ;
1.0000 ;
-7.0000 ;
3.0000 ;
];
BT*B\(BT*L)


得出的结果是
ans =

6.3591
3.3658
-0.3658
-0.3188
但我想改变它的输出精度怎么办?
print ‘%5.20g’ %theNum或者:print ‘%5.20g, %5.20g’ %(num1,num2) #python

sprintf('%0.5g',aa) % matlab风格

网上搜到的是这样,但这不是输出一句吗,如果要写个循环输出的话,还请高手帮帮助,写全了,谢谢
...全文
117 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
IranCyberArmy 2010-03-12
  • 打赏
  • 举报
回复
sprintf('%0.25g\n',inv(BT*B)*(BT*L))
qqqljx 2010-03-12
  • 打赏
  • 举报
回复
查查format就知道了...
zhangwuji154 2010-03-12
  • 打赏
  • 举报
回复
B = [1.0000 0.0000 0.0000 16795.1090 0.0000 -0.0000 93120.8430 ;
0.0000 1.0000 0.0000 93120.8430 0.0000 0.0000 -16795.1090 ;
0.0000 0.0000 1.0000 0.0000 -93120.8430 16795.1090 0.0000 ;
1.0000 0.0000 0.0000 16763.5370 0.0000 -0.0000 93164.3730 ;
0.0000 1.0000 0.0000 93164.3730 0.0000 0.0000 -16763.5370 ;
0.0000 0.0000 1.0000 0.0000 -93164.3730 16763.5370 0.0000 ;
1.0000 0.0000 0.0000 16744.1820 0.0000 -0.0000 93173.3440 ;
0.0000 1.0000 0.0000 93173.3440 0.0000 0.0000 -16744.1820 ;
0.0000 0.0000 1.0000 0.0000 -93173.3440 16744.1820 0.0000 ;
];
BT = B'
L = [2474309.1570 ;
390730.8550 ;
0.0000 ;
2474309.9050 ;
390731.3880 ;
0.0000 ;
2474310.0610 ;
390631.7170 ;
0.0000 ;
];
%(BT*L)\BT*B
inv(BT*B)*BT*L




以上是代码,以下是结果
ans =

1.0e+006 *

2.5599
0.4433
0
-0.0000
0
0
-0.0000

我想精确到小数点后更多位怎么办?

33,009

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧