讨论求知 发表于 2009-4-4 10:54

求助一个编程技巧问题

比如要求一个方程组的jacobian矩阵
举个列子:求的结果dF(1,1)=1;dF(1,2)=2;dF(2,1)=1;dF(2,2)=2;用什么命令能使dF=(1 2;1 2);
我看了一个资料用了dF=zeros(2,2);
结果使个零矩阵,还有其它的命令吗,请指点一下

sogooda 发表于 2009-4-4 10:59

没太明白你的意思,这样吗?
dF=;

讨论求知 发表于 2009-4-4 15:14

是啊,就是这样的啊,那是我要得到的结果,不是用手输入,用个指令。用zeros好像好使,再问一个问题我的数据怎么都显示整数部分,比如,在M文件中输入a=4.879,b=2.2运行后只显示a=5,b=2,这是怎么回事?
上面的问题是不是长格式,和短格式的问题,比如1e+4*1.00005短格式输出等于1.0000,请问如何设定成格式?

[ 本帖最后由 ChaChing 于 2009-4-4 21:34 编辑 ]

savage2345 发表于 2009-4-4 17:19

第一个问题可以使用reshape函数来解决。
第二个问题如果是要在工作区之外显示的话,在输出格式中设置,看看fprintf帮助

讨论求知 发表于 2009-4-4 19:06

当然在工作区显示啊,为什小数点后只有四位,后面的都四舍五入了,1e+4*0.00002只显示1e+4*0.0000,还是不知道为什么,难道与我的输入数据有关,数量级相差太大了?

ChaChing 发表于 2009-4-4 21:29

1.输入a=4.879,b=2.2运行后只显示a=5,b=2? 不太可能这样
2.help format, 并试试 format long e

[ 本帖最后由 ChaChing 于 2009-4-4 21:36 编辑 ]

讨论求知 发表于 2009-4-5 08:52

不是输入,我编的一个程序,当调用子程序时会这样,子程序是一个jacobian矩阵,比如矩阵里的两个数4.879,0.2.当调入主程序时只显示1e+4*(0.0005,0.0000),这是怎么回事?我是设断点检查的

ChaChing 发表于 2009-4-5 15:59

回复 7楼 讨论求知 的帖子

显示问题嘛

讨论求知 发表于 2009-4-5 18:17

好像这是短格式显示,如何变为长格式显示?还是数量级相差太大

ChaChing 发表于 2009-4-5 19:58

原帖由 讨论求知 于 2009-4-5 18:17 发表 http://www.chinavib.com/forum/images/common/back.gif
...如何变为长格式显示?...
6F不是说过!?
还有真的建议楼主加强发问题方式!

讨论求知 发表于 2009-4-6 08:23

你那种方法不好使,书上也有的。
你不要总是这么说我,你权利很大吗,那就把我提出去吧

ydlcsu 发表于 2009-4-6 10:54

回复 11楼 讨论求知 的帖子

既然不懂就要谦虚点,说你要加强问问题方式一点都没冤枉你。

ChaChing 发表于 2009-4-6 11:38

回复 11楼 讨论求知 的帖子

唉! 就是个人水平专业有限, 才希望楼主说清楚些嘛!
若表达让LZ不舒服, 个人会改进! 但说教真的是希望LZ可以更好!
就请参考下吧!

讨论求知 发表于 2009-4-6 17:39

回复 13楼 ChaChing 的帖子

我的问题是随时想随时问的,也没在意那么多,以后会遵守规则的。在这个学习知识的地方计较和讨论这些不好。感谢大家给我提出的建议。我的问题已经解决了,就是上面说的数量级相差太大原因。
页: [1]
查看完整版本: 求助一个编程技巧问题