matlab学习笔记_第1页
matlab学习笔记_第2页
matlab学习笔记_第3页
matlab学习笔记_第4页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1、 函数 eval 的作用:对输入的表达式重新输出一减少系统的表达错误。2、 Global的作用:同时用于主函数和子函数中,定义变量,使主子函数中数据共享,节省运行时间。并在主函数中进行赋值。3、 数据显示格式控制指令FormatFormatFormatFormatFormatFormatshort gratlong ebankcompactloose含义用 5位科近似有15 位小(金融)显示变量在显示学记数表理数表数或 15元角分表之间没有变量之示,或 4示科学记数示空行间有空位小数表示行4、 化简式子函数: simple( f )5, plot成了图,保存成了 .fig的文件。现在没有了

2、源码,想把数据导出怎么办?下面地址给出了一个例子具体的办法是:open(fnam); % fnam是文件名lh=findall(gca,type,line); %xc=get(lh,xdata); %取出从当前图 (gca) x 轴数据,注意,这个中取出曲线的 handlex 和 y 是以 cell的数据结构保存的yc=get(lh,ydata); %取出y 轴数据x=xc1; 从 cell转换成矩阵,可以这样写y=yc1;-% the data x=1:10; y=rand(size(x); fnam=afig.fig;% .on display fh=figure; line(x,y);%

3、 .and saved saveas(gcf,fnam); delete(fh);% the engine open(fnam); lh=findall(gca,type,line); xx=get(lh,xdata);yy=get(lh,ydata);% the result isequal(x,xx) isequal(y,yy)各种数学公式的显示积分公式 :Title(s=inty(t)dt )-一重积分Title(s=intint y(t)dt)-二重积分导数:Title(yprime )-一次导数Title(yprimeprime )-二次导数数组生成 :X=(0:0.1:1)x=li

4、nspace(fiest_value,last_value,number_of_value) X=logspace(fiest_value,last_value,number_of_value)Rand(n)生成均匀分布的随机数组,其元素值介于 01 之间;Randn(n)生成均值为 0,方差为 1 的正态分布矩阵。Randperm(n)生成 1 到 n 的整数随机数组。Magic(n) 魔方矩阵,其元素由 1, 2, 3, , n2 组成,其每行每列及两条对角线上的元素之和相等。Vander(V) 范德蒙德矩阵,最后一列全为 1,倒数第二列为给定列向量,其他各列是其后列与倒数第二列的点积。T

5、oeplitz(X,Y) 托普利兹矩阵,矩阵除第一行第一列为给定外,其他元素与其左上角元素相同。Pascal(n)帕斯卡矩阵,由杨辉三角行表组成的矩阵。Mfunction fun=基本的图形控制Plot(x,y, color-linestyle-marker ,markersiaze,n,linewidth ,m)坐标系的控制命令描述Axis(xmin设置当前图形的坐标范围xmaxyminymax)Axis equalX y轴的单位长度相同Axis square图框呈方框Axis tight坐标范围设定为被绘制的数据范围Axis ijAxis xy坐标设置为矩阵模式,水平坐标轴从做到右取值,垂

6、直坐标轴轴从上到下取值坐标设置为笛卡尔坐标系Axis image设置坐标范围,使其与被显示的图形相适应图形的标注图例标注 :legend(, )例:对程序大片的注释让其失去作用的方法:%-matlab 怎么批量取消 %?问:我在分布调试程序时,很多行命令都屏蔽了,调试结束后想把那些 %全都 .答:Ctrl+R 多行注释 Ctrl+T 取消多行注释如何用 matlab 批处理 Excel 数据 ?紧急 !问:我有几百组数据, 是以 Excel 形式存在的, 如何批量地输入到matlab 的某 .答:可以设置一个矩阵,然后将数据复制粘贴进去。之后对矩阵进行处理,可用循环结构。得到的结果也可以赋给一

7、个矩阵怎么用 MATLAB批量读取一个文件夹里面的图片.问:怎么用MATLAB批量读取一个文件夹里面的图片并进行处理呢?答:1 图像按编号命名 :1.jpg, 2.jpg,.,n.jpg 2 循环读图 I=cell(1,n);fori=1:nimageName=strcat(num2str(i),.jpg);Ii=imread(imageName); end 3处理图像-如果图像 很 多,那么最好这样,第二步和第三步合并fori=1:nimageName=strcat(num2str(i),.jpg); I = imread(imageName);处理当前图像end用 matlab 批处理一些

8、 txt 文件问:我有一批 txt 文件,命名不规律,但是文件的名字已经存在另一个 txt 文.答:首先要把数据导入:有三种常见的方式:1.A=importdata(filename.txt), filename 是 txt文件名;2.loadfilename.txt这样也是载入n*m的矩阵;3.在MATLAB的work文件夹下,选择想要导入的数据,用右键步一步导入即可。导入之后最后用plot画到一张图上,可将所绘的所有图形用importdata,根据向导一命令绘图即可。如果都origin 编辑。 Matl.请问如何用matlab 批处理多个数据文件?问:情况是这样的,我编写了一个 matla

9、b 程序,每次对一个数据文件( .tx.答:把 .mat 文件放到一起先 ctrl+a 再按 F2 命名为 XX(i).matfori=1:100 load strcat(XX(,num2str(i),).mat);end %strcat 是全并stringmatlab 声音批处理问:比如说对 100 个声音作端点检测,求正确率,正确率=正确检测的个数 /10.答 : 你是 .wav 文件么?这样处理 for i=1:100 filename=sound num2str(i) .wav; y = wavread(filename); % 对 y 进行处理 end急! 请教高手 :如何用 MAT

10、LAB程序高效地对大批量.问:例如我的 Matlab 程序是针对一幅图片处理并输出结果的,我想对 1000 幅.答 :写一个forloop循环就好啦files= dir(*.jpg);fork =1:numel(files) %.处理代码 . rgb = imread(files(k).name); rgb =rgb(1:1800, 520:2000, :); rgb = imresize(rgb, 0.2, bicubic); imwrite(rgb, cropped files(k).name); end 自己看着修改就好了问:matlab 中怎样在命令窗口中批量执行m 文件的内容。(我现

11、在有 1.m 2.m 3.m .许多 m 文件需要批量处理。答:我的建议是 你把初始变量的值都给定,例如参数 a=10;把这些参数的值和你 1.m 2.m 这些个函数按照顺序都放在一个新的m 文件里,例如x.m,然后运行 x.m.你可以试试 .用 matlab 对文件进行批处理问:一个文件夹下有500 个文本文件,且文件名不规则,这500个文本文件均 .答:思路两种方案:一种,写到临时文件,再覆盖回来。二种,以读写方式打开。二十分钟后再来取吧。第二种方案:dirpath=uigetdir; filestruct=dir(dirpath); Nfile=length(filestruct); f

12、ori=1:Nfileifstrcmp(filestruct(i).name,.)|strcmp(filestruct(i).name,.)continue;endfp=fopen(dirpath,filestruct(i).name,r+).高分求助 matlab 问:请教:如何用批处理 matlabexcel 数据,满意再加遍历某个文件夹下的100 excel分文件,然后要依次读入每.答 : 既然知道xlsread 就简单了比如文件名是在f盘下的1.xls,2.xls.100.xls 那就可以这样:data=cell(100,1); for i=1:100datai=xlsread(f:,

13、i+0,.xls)end f:,i+0,.xls在 i=1 的时候 ans = f:1.xls 以此类推 能看明白吧。 其他的要求是你自己能做的。matlab for 循环中的批量保存问题问:程序如下: function enumerate(C) clc n,p=size(C); P=p+1; .答:把A设为比C 多一维的矩阵,每次存储。即:A(:,:,i)=C(B(i,:),:)matlab 批量处理问题问:求一个完整程序,对批量灰度图增加对比度,反色。然后自动保存结果 .答:mark 一下,晚上帮你看看。另外,反色没啥可说的,但是对比度的话你想要个什么样的对比度算法128 + (Value

14、 - 128) *nPercent / 100 合不合适?然后你最好把你的图片发两张给我,让我调试一下程序,不然就算我写好,未必你就完全能用。q:961085556-.matlab 怎么批量处理图片问:matlab 怎么批量处理图片答:uigetfile 函数可以通过对话框的形式获取文件的信息, 将控制参数 MultiSelect 的值设为 on ,可以打开多个文件。例如:filename, pathname, filterindex = uigetfile( *.bmp, MultiSelect, on); 上述命令就是获取多个 bmp 图像文件的命令, filename 信息是文件名, p

15、athname 信息是文件的路径。之后可以用一个 for 循环,在 for 循环中依次打开所有 .matlab 如何批量处理图像问:matlab 如何批量处理图像答:给你个例子吧,之前编写的一个程序的部分代码: for i=1:13 url=strcat(gradien,num2str(i),.bmp); % 即读取路径 /gradient/下的图像 Imoving=imread(url);MATLAB 中批量处理矩阵问:我在 MATLAB 中创建了例如: d1,d2,d3.这样名称的矩阵,现在我想 .答:例子:d1=1 2 3; 4 5 6 m,n=size(d1) % m为矩阵行数n 为矩

16、阵列数即d1为2 行3 列矩阵for i=1:m % 做循环取矩阵中的每一个元素进行运算for j=1:n d(i,j)=d1(i,j)*d1(i,j); %取d1中的 第i行第j列 元 素做平方运算endendd-例子的结果输出:d1 = 1 2 3 4 5 6 m= 2 n = 3 d = 1 4 9 16 25 36求用 matlab 批量处理 CSV(逗号分隔符)形式的 txt 文件的方法。问 : 文 档 内 容 如 下name,time,jd,wd,status,v,angle, 粤B000H6,2011/04.答:要是每行字符长度和格式都一样的话就是下面这个样子。不过第一个数据,我

17、猜是采集时间,输出的是字符,你要画图啥的自 己 再 稍 微 转 换 一 下 格 式 。fid=fopen(data1.txt,r);text=textscan(fid,%8s%11s%5f%5s);time=char(text1,1);data=text1,3;fclose(fid);这个时间字符串里有个冒号,不能直接用 str2num,第二种方法我没看明白你要.matlab 批量处理图像文件时,其中一幅图出错 ,程序便终止了 ,如何使.问:matlab 批量处理图像文件时,其中一幅图出错,程序便终止了 ,如何使 .答:试试 try.catch.end 语句, try 后的语句若不能执行或有错

18、,就执行 catch 后面的句子。求一段 MATLAB图像批量处理和数据的存储的代码问:我有大概五万张图片需要处理,图像处理的函数已经编好了,现在还有 .答 :首先保证要处理的图像文件名为数字序列,例如photo-1,photo-2,%Startname=zeros50000,20;% 文 件 名 矩 阵numb=zeros50000,15;%需求数据矩阵fori=1:50000filename=strcat(filepath,photo-,int2str(i);%生成文件名name(i,:)=filename;% 保存文件名I=imread(filename,jpg);%自编函数处理numb

19、(i,:)=a ;% a 为自编函数中返回的.matlab 批量修改文件名问:我想把jpg,png,bmp统一转换为1filename.bmp,2filename.bmp,3filena.答:x = dir(D:Program FilesMATLABR2010btesttest*.a); y =dir(D:ProgramFilesMATLABR2010btesttest*.b);z=x;yl =length(z); filename =Matlab 求阶乘:【1】 factorial(4)ans =244!=4*3*2*1=24【 2 】gamma(5)ans =24gamma(N)=(N-1

20、)*(N-2)*.*2*1【3】 s=4!s =4! vpa(s)ans =24.【4】 编辑一下 m 文件:function result = jiecheng(N) % 此程序功能是求某个数的阶乘。result = 1;for i = 1:Nresult = result*i; end据说其中的 N 值不能过大【求 1!+2! +n! 】n=input( 请输入一个数 :);sum(factorial(1:n)执行这两个语句即可符号数据向任意精度的表达:vpa(string,n) string:欲转换的符号数据, n:表达精度% 符号 积分int(f,v)int(f,v,a,b)% 数值积

21、分trapz(x,y)%梯形法沿列方向求函数 Y 关于自变量X的积分cumtrapz(x,y)%梯形法沿列方向求函数Y 关于 自变量X 的累计积分quad(fun,a,b,tol)%采用递推自适应Simpson法计算积分quad1(fun,a,b,tol)%采用递推自适应Lobatto法求数值积分dbquad(fun,xmin,xmax,ymin,ymax,zmin,zmax,tol)%二重 ( 闭型 ) 数值积分指令triplequad(fun,xmin,xmax,ymin,ymax,zmin,zmax,tol)%三重 ( 闭型) 数值积分指令在很多工程问题中,通过对数据进行对数转换可以更清

22、晰地看出数据的某些特征,在对数坐标系中描绘数据点的曲线,可以直接地表现对数转换。对数转换有双对数坐标转换和单轴对数坐标转换两种。用loglog 函数可以实现双对数坐标转换,用semilogx 和 semilogy 函数可以实现单轴对数坐标转换。loglog(Y)表示x、y 坐标都是对数坐标系semilogx(Y)表示x 坐标轴是对数坐标系semilogy()表示 y 坐标轴是对数坐标系plotyy有两个 y 坐标轴,一个在左边,一个在右边例 1:用方形标记创建一个简单的loglog.解: 输入命令x=logspace(-1,2);loglog(x,exp(x),-s)grid on % 标注格栅所制图形为 :例 2:创建一个简单的半对数坐标图.解输入命令 :x=0:.1:10;semilo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论