Matlab 精度控制问题
matlab会自动改变变量的类型。版本2008b如何自定义变量类型呢?(例如从开始都是整型数据)
碰到问题如下
a = int64(4);
a= 222222222;
class(a);
返回a是double精度了。我想一直控制a为int64,该怎么办?
另外奇怪的是 下面的奇怪输入输出
有人能解析原因吗?
clear all
>> int 0
ans =
0
>> int 1
ans =
x
>> int 2
ans =
2*x
>> int 3
ans =
3*x
>> double 0
ans =
48
>> double 1
ans =
49
>> double 2
ans =
50
>> int a
ans =
a^2/2
>> double b
ans =
98
>> double xx
ans =
120 120 Ref : http://forum.vibunion.com/forum/thread-75501-1-1.html 第二个问题明白了,
原来是当做字符串数组了。
第一个问题不知如何处理呢 个人知道的是, matlab不需要像其他语文(C/fortran...), 事先定义其变量类型! 有其方便性! 但自己需特别小心!
还有不同语文各有其特色! 学习一语言的新手, 常习惯用熟悉的语言来要求它!
个人认为如此不好! 应该去了解其各别内涵, 如此才能学习到其特殊应有的用法!
[ 本帖最后由 ChaChing 于 2009-6-19 21:52 编辑 ] 如果想一直控制a为int64,可以每次赋值时都采用a=int64()这种形式。
呵呵,比较笨的一种方法 恩,可行的办法就是好办法。:lol
有时候我想控制好精度。因为整数表达的有效数据位数会大一些。 help digits
页:
[1]