1. 安装:按照网上的帖子正常安装,http://wenku.baidu.com/view/7e62e06548d7c1c708a1450c.html win7 74位安装完成后点击Matlab运行的快捷方式,右键属性,选择一windows2000兼容运行 2.别人传的程序放到work文件夹里面,在控制台引用就可以 3. 先把需要用的程序放到work文件夹下,然后打开按F5运行 4.>>dc=dct(x); 对一维数组进行DCT变换, >>xx=idct(dc); 反DCT变换,目的:用Matlab测试c语言的DCT变换是否正确 m = [136,147]; y = dct(m); y 5.java.lang.OutOfMemoryError 这个错误解决方案 matlab的java.lang.OutOfMemoryError错误 Java虚拟机内存不够用了.可以增加最大内存设置. 1. 查找matlab根路径.在matlab命令行中敲入:matlabroot 显示根路径,如:C:\\MATLAB7 2.查看当前Java虚拟机最大堆内存, 敲入:java.lang.Runtime.getRuntime.maxMemory 3.查看Java虚拟机版本.敲入:version -java 4.在 $MATLAB\\bin\\$ARCH 路径下新建java.opts文件. $MATLAB是根路径,例如C:\\MATLAB7 $ARCH是系统架构.例如win32,则在C:\\MATLAB7\\bin\\win32下新建java.opts文件. 5.用记事本打开java.opts文件, 对于版本是1.2到1.5的Java虚拟机,输入: -Xmx268435456 对于版本是1.1.8的JVM,输入 maxHeapSize = 268435456 保存. 这里268435456是新设置的JVM的最大堆内存.可以改成其他值. 6. 重启matlab,敲入java.lang.Runtime.getRuntime.maxMemory 显示最大内存改变,设置成功. http://blog.c114.net/html/10/24810-19934.html 7.读取纯文本文件.txt(必须是数字,中间是空格,没有括号符号什么的) d = dlmread('number.txt'); 注:这个有问题,会多出一列,那一列全部为0 正确做法是: d = load('number.txt'); 8.Matlab读取矩阵中的某一段的写法: >> dcx1(:,1:6) = dcx(:,1:6); >> dcx1(:,7:12)= dcx(:,28:33); >> dcx1(:,13:18) = dcy(:,1:6); >> dcx1(:,19:24)= dcy(:,28:33); 9.把Matlab里面的.mat文件写成c语言用的.bin文件 load('C:\Users\ice\Desktop\dcxy.mat') fid=fopen('dctxy.bin','wb'); for j=1:24 for i=1:9216 fwrite(fid,dcx1(i,j),'int'); end end fclose(fid); 10.用Matlab读取.bin文件 fid=fopen('a.bin','rb'); a=fread(fid,'int'); fclose(fid) http://blog.21ic.com/user1/6068/archives/2009/63312.html 11.Matlab改c语言 for循环中 i = 1:n 改c:for(i = 0; i < n; i++) j = n:-1:1 改c:for(j = n-1, j > -1; j--) 12:Matalb表示多维矩阵 a = [1 2 3; 4 5 6] 13. Matlab 中 log2(10) 用c语言表示 log(10.0) / log(2.0) 14.写.mat文件 save D:\jc jc 15. elow=bitshift(elow,1); 改成c:register unsigned int low = (eep->Elow<<1); 16. mod(3,80); 改成C:3%80; 17. reshape把指定的矩阵改变形状,但是元素个数不变 比如a 是1*10的矩阵b = reshape(a,5,2);就变成一个5*2的矩阵 如果想编程10*1的矩阵只需要 a'就可以 18.matlab位运算 bitand :按位与 (相当于c的&) bitor : 按位或 (相当于c的 | ) bitxor : 按位异或 (相当于c的 ^) bitcmp : 取反 (相当于c的 ~) bitget :获取某一位 bitset :设置某一位 bitshift(a, -1) :右移 (相当于c的 >> ) bitshift(a,1) :左移 (相当于c的 << ) 19. 怎样判断两个矩阵完全相同 直接是sum(A==B)结果为A的元素个数,相等否则,不相等 20. 找到一个数在矩阵中出现的次数用 a=[1 2 3 4;5 3 6 8;2 3 9 7]; L=length(find(a==3)) 还要显示坐标的话用: find(a==3) or [r ,c] =find(a==3)
matlab的使用心得,Matlab使用心得
最新推荐文章于 2022-04-08 11:27:39 发布