matlab报错集锦,matlab编程笔记:错误集锦
总结一些自己遇到过的使人抓狂的报错,往往是自己粗心大意造成的:
1、变量名与函数名混用
disp('jafjjaja')
??? Index exceeds matrix dimensions
原因:前面把disp定义为变量了,编程的时候千万要注意噢!已存在的函数名不能用作变量名
2、浮点数的大小比较问题
find(a==b)
ans =
Empty matrix: 1-by-0
或者
>> format long
>> a
a =
0.793000000000000
>> b
b =
0.793000000000000
>> a == b
ans =
0
原因:这里牵扯到eps
eps(a)是|a|与大于|a|的最小的浮点数之间的距离,距离越小表示精度越高。浮点数其实是离散的,有限的,而且间隔是不均匀的。越靠近0,数和数之间就越密集,精度就越高。
默认a=1。eps=eps(1),是1的精度。也就是说matlab无法表示介于1和1+eps之间的数,这些数将被四舍五入到1或1+eps。比如1+0.3*eps被舍入到1,而1+0.7*eps被舍入到1+eps。2的精度就比1的精度要低。事实上,matlab无法区分介于2和2+2*eps之间的数。也就是说eps(2)=2*eps,0的精度是最高的,也就是说eps(0)才是matlab所能表示的最小的正数。它和eps(1)相比相差了300多个数量级:
>> eps(0)
ans =
4.940656458412465e-324
>> eps(1)
ans =
2.220446049250313e-16
正确的比较方法如下:
>>a-b
ans =
1.110223024625157e-16
>> eps
ans =
2.220446049250313e-16
>> (a-b)
ans =
1
3、fread读取数据
total = h*w;
img = fread(fid,total,'float');
img = reshape(img,w,h);
total是9325892,而img只有9240576,导致报错
To RESHAPE the number of elements must not change.
解决:
开头我以为是元素个数超出了matlab限制,查了一下:
[str,maxsize] = computer
str =
PCWIN64
maxsize =
2.8147e+14
it depends on the memory of your computer,including virtul mem provided by your operating system. 天文数字不可能超的啊。
后来发现是自己fopen的文件本身就只有9240576个float数据,粗心而已~
(TO BE CONTINUE)
matlab报错集锦,matlab编程笔记:错误集锦相关推荐
- 解决Matlab报错:MATLAB 先前因底层图形错误而崩溃。为避免在此会话期间再次崩溃,MATLAB 将使用软件 OpenGL 而不再使用图形硬件。
报错如下: -----------------------------------------------------------------------Assertiondetected at We ...
- java小括号报错_JAVA新人常犯错误集锦
学习程序设计,最怕的事情可能就是遇到错误却找不到错在哪里.这里列举一下笔者发现的JAVA新人常犯的错误,供目前正在上笔者JAVA课程的学生参考,其他JAVA初学者亦可借鉴. 1.没有区分中英文 在JA ...
- 混合罚函数法matlab报错,罚函数法MATLAB程序
一.进退法.0.618法.Powell法.罚函数法的Matlab程序设计 罚函数法(通用) function y=ff(x,k) y=-17.86*0.42*x(1)/(0.8+0.42*x(1))* ...
- Matlab报错:错误使用 rgb2gray>parse_inputs (第 79 行) MAP 必须为 m x 3 的数组。请对 RGB 和灰度图像使用 im2gray。
拟解决问题: Matlab报错:错误使用 rgb2gray>parse_inputs (第 79 行) MAP 必须为 m x 3 的数组.请对 RGB 和灰度图像使用 im2gray. 下述程 ...
- matlab报错问题处理,函数或变量无法识别,不受支持的符号、不可见的字符或非 ASCII 字符的粘贴———卸载之前
matlab报错问题处理,, 文本字符无效.请检查不受支持的符号.不可见的字符或非 ASCII 字符的粘贴. matlab里面缺少自带函数处理办法: 1.比较好的方法是重装. 2.也可以缺哪个文件,就 ...
- Matlab报错:需要的 第 1 个输入, I or X, 应为 二维
Matlab报错:需要的 第 1 个输入, I or X, 应为 二维 >> imhist(f); 错误使用 imhist 需要的 第 1 个输入, I or X, 应为 二维. 错误原因 ...
- MATLAB报错:未定义函数或变量解决方案
MATLAB报错:未定义函数或变量 MATLAB报错:未定义函数或变量 常见错误原因 我的解决方案 MATLAB报错:未定义函数或变量 最近准备数学建模比赛,学习MATLAB入门遇到了个问题:未定义函 ...
- MATLAB报错Invalid ADAPTORNAME specified. Type 'imaqhwinfo' for a list of available ADAPTORNAMEs. Image
MATLAB报错Invalid ADAPTORNAME specified. Type 'imaqhwinfo' for a list of available ADAPTORNAMEs. Image ...
- 【报错解决】matlab报错:缺少动态链接库VCOMP100.DLL
问题分析: matlab报错:缺少动态链接库VCOMP100.DLL 在编译某mexw64文件时可能出现. 原因:windows10版本的C:\Windows\System32目录下动态链接库已经是V ...
- MATLAB报错:未定义函数或变量解决办法
MATLAB报错:未定义函数或变量解决办法 edit(fullfile(matlabroot,'examples','nnet','main','此处放未定义函数')) 比如: edit(fullfi ...
最新文章
- 惠普打印机节能环保认证证书_学生在家学习 入门级喷墨打印机 300元-500元档
- Java NIO之通道
- JS之返回指定位置字符的charAt方法
- 【Java】如何理解Java中的双列集合Map?
- 《程序设计技术》第三章例程
- 机器学习基础(五十九)—— 高级优化算法(梯度下降、L-BFGS、共轭梯度)
- STP是一个需要众力协作的协议
- Ice的HelloWorld(Java)
- 利用WireShark下载视频网站的流媒体视频
- 基于django的图书商城管理系统毕业设计源码110938
- c35是什么意思_混凝土C35P6是什么意思
- vue2的 watch的理解(7)
- C语言 进阶版三子棋小游戏
- Unity --- 导航网格 与 导航的使用
- 2017-03-27Oracle故障gc buffer busy acquire导致数据库不可用
- android硬件加速默认,android 硬件加速
- JavaEE学习日志(七十三): 黑马商城项目(六)
- Adobe Photoshop(ps)
- VB基础版版务处理_20050808
- arduino pro mini NRF2401使用
热门文章
- 玩了一场剧本杀,同车队友“不是人”
- 在overleaf中下载beamer模版(用latex编写ppt文件)
- (转)永磁同步电机工作原理(https://blog.csdn.net/jianwen01/article/details/5931881)
- Flink Watermark 源码分析
- 利用Fiddler中的FiddlerScript自动保存抖音PC网页版视频链接(相当于一个爬虫)
- 计算机技术培训的现状,信息技术教学应用个人现状分析以及发展计划
- 原生js实现form表单序列化的方法
- Java ppt转图片部署到Linux 乱码
- 树莓派基础实验32:DS1302实时时钟模块实验
- 医疗器械YY0505-2012、YY9706.102-2021检测报告,EMC电磁兼容标准解析