matlab关于精度问题

options = odeset('RelTol',1e-6,'AbsTol',[1e-6 1e-6 1e-6]);

[t,x]=ode45('system',t0,x0,options);

求微分的解,具体就不贴了

问题是我想要将所有x的值由小数变整数然后取模,究竟matlab默认计算到x后的多少位的?
所以就有个问题,应该把x乘以多少呢?

d=mod(x*power(2,64),256)
还是
d=mod(x*power(2,32),256)
还是 10的?次方
d=mod(x*1e+??),256)

小数变整数然后取模

>> x=[1.4,1.5,1.6];
>> mod(round(x),256)

ans =

1 2 2

>> mod(ceil(x),256)

ans =

2 2 2

>> mod(floor(x),256)
ans =

1 1 1

你想做什么描述清楚些。我看你的*power(2,64)你是想得到x的最后几位是吧。
但是你这样一乘,你就不怕溢出吗?
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-11-23
help eps
help realmin realmax

matlab . 2是什么意思?
Matlab中的数字精度问题是一个常见的问题。在Matlab中,由于计算机的运算精度有限,当进行复杂计算时可能出现精度不足导致计算结果不准确的情况。这种情况可以通过设置Matlab的精度来解决。可以使用格式化命令控制数字的输出精度。例如,可以使用format long设置输出数据的完整精度。Matlab中数字输出格式化 Matlab中...

Matlab计算精确度问题?
Matlab中默认是双精度浮点类型(double),这个精度已经很高了。可以通过对应的设置来避免这种浮点计算误差。

matlab中怎样设置精度?
matlab中设置精度的方法和操作步骤如下:1、首先,打开计算机,进入软件,将看到以下界面。依次单击上方菜单栏中的“File”-->“Preference”,如下图所示。2、其次,完成上述步骤后,将看到以下界面。 单击红色框中的“Command Window”,如下图所示。3、接着,完成上述步骤后,将看到以下界面。 在“Nu...

matlab中显示精度的问题
符号运算还有一个重要应用,就是高精度求值,或者所谓任意精度算术(Arbitrary-precision arithmetic),MATLAB中称为可变精度算术(Variable precision arithmetic),也就是楼主所调用的vpa函数,理论上可以实现任意位有效数字的计算。楼主所调用的digits和vpa函数都属于符号数学工具箱的函数,它们的实现并非通过MA...

怎么改变MATLAB的数据精度?
精度是表示观测值与真值的接近程度。每一种物理量要用数值表示时,必须先要制定一种标准,并选定一种单位 (unit)。这种标准的制定,通常是根据人们对于所要测量的物理量的认识与了解,并且要考虑这标准是否容易复制,或测量的过程是否容易操作等实际问题。MATLAB是matrix&laboratory两个词的组合,意为矩阵...

改变MATLAB的数据精度
1、打开电脑,进入软件中,就会看到以下画面,在上方的菜单栏中点击“file”,之后在子选项中选择“preference”。2、点击之后,就会看到以下画面,点击红框内的选项。3、点击之后,就会看到以下画面,在numeric format 的后面选择long长度,点击。4、点击之后,就会看到以下画面,在这里输入8就好了。

为什么matlab在判断含小数的变量的算数运算结果是否等于某常量时不正确...
在Matlab中,你可以使用 abs(a - b) < epsilon 来判断两个浮点数 a 和 b 是否在某个容差范围内接近,其中 epsilon 是一个很小的正数,比如 1e-6。综上所述,这些问题都源自浮点数运算的精度限制。在编程中,特别是涉及浮点数计算时,要时刻注意浮点数的精度问题,避免直接使用相等比较符号来判断...

如何改变matlab默认的计算精度
1、我们使用电脑打开matlab。2、在命令行窗口中输入代码:[0:0.1:1]。3、点击回车,我们可以看到结果从0开始每次增加0.1到1结束。4、赋予变量x从0到1等值增大的值。在命令行窗口中输入代码:x=[0:0.1:1]。5、点击回车后便会显示出x变量的赋值结果,我们可以看到x变量内值从0到1每次增加0....

MATLAB二分法精度不够原因有哪些
用csvwrite()函数导出数据时,如果数值的长度超长,Matlab就会使用“短科学记数法”导出数值,导致丢失小数点4位后的值,造成精度不够。例如数值“233000.25”会变成“2.3E05”,导致后面的0.25丢失。解决方法,使用dlmwrite()函数导出时可以设置精度。注意,如果使用writematrix()函数导出数据,需要2019a...

Matlab怎么修改显示数值格式\/精度\/小数位数
1、第一先双击电脑上的“matlab”软件,打开它。2、然后在命令行输入pi,输入结果只有四位小数,精度较低。3、接着在左上方“主页”一栏中,点击“预设”按钮。4、弹出对话框,能看到“命令行窗口”的预设项:数值显示格式。5、选择切换数值格式,下面以“long”为例,选择数值格式为“long”。6、...

相似回答