matlab命令word版

上传人:日度 文档编号:164482993 上传时间:2021-01-28 格式:DOC 页数:30 大小:188.50KB
返回 下载 相关 举报
matlab命令word版_第1页
第1页 / 共30页
matlab命令word版_第2页
第2页 / 共30页
matlab命令word版_第3页
第3页 / 共30页
matlab命令word版_第4页
第4页 / 共30页
matlab命令word版_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《matlab命令word版》由会员分享,可在线阅读,更多相关《matlab命令word版(30页珍藏版)》请在金锄头文库上搜索。

1、将excel数据导入直接将下面三句话导入filename, pathname= uigetfile(*.xls); %寻找源文件file=pathname filename; %赋名x=xlsread(file); %格式转换为矩阵之后就用x来代表导入的这个矩阵。如excel 里输入了 1 2 3 4 5 6如下命令x(1,:)ans = 1 2 3Matlab提供了从磁盘文件或剪贴簿转载数据至工作区(数据导入)和将工作区变量存 入磁盘文件(数据导出)的多种途径。最简单的办法是使用界面导入向导,打开文件菜单中的导入数据而后按提示操作。Matlab支持的主要数据文件类型和对应函数如下:导入文本文

2、件 文本文件需要具备统一的行列模式,使用分隔符作为数据项间隔,这些分隔符包括空格、逗号、tab、分号或其它。数据文件可能附带标题行和行列头标签。数值数据 对于数值数据可以直接使用load函数装载,例如my_data.txt中数据如下:1 2 3 4 56 7 8 9 10命令A = load(my_data.txt)装载该文本文件数据。如果数值数据使用其它分隔符,可以使用dlmread读入,假设my_data.txt中数据如下:7.2;8.5;6.2;6.65.4;9.2;8.1;7.2命令A = dlmread(my_data.txt, ;)读入该数据。2 / 30包含行列标签的数值数据 例

3、如:Grade1 Grade2 Grade378.8 55.9 45.999.5 66.8 78.089.5 77.0 56.7fid = fopen(grades.dat, r);grades = textscan(fid, %f %f %f, 3, headerlines, 1);fclose(fid);包含字符和数值的混合数据 使用textread函数读入。导出文本文件 save函数A = 1 2 3 4 ; 5 6 7 8 ;save my_data.out A ASCIIdlmwrite函数dlmwrite(my_data.out,A, ;)MS-Excel电子表格文件 xlsinf

4、o获得文件信息使用命令type, sheets = xlsfinfo(filename)返回文件类型type和工作表信息。如:type, sheets = xlsfinfo(tempdata.xls)Xlswrite导出数据 d = Time, Temp; 12 98; 13 99; 14 97命令xlswrite(tempdata.xls, d, Temperatures, E1)将单元格数组d的数据写出至tempdata.xls文件,新建工作表Temperatures,从该工作表的E1单元格开始写入。Xlsread读入数据 ndata = xlsread(tempdata.xls, Tem

5、peratures)ndata, headertext = xlsread(tempdata.xls, Temperatures )在各论坛上看到很多关于这方面的问题,其实很简单的,MATLAB提供了这方面的比较方便的工具,可以通过File-import data 来从外部向MATLAB的WORKSPACE导入大量数据(原始数据文件的数据要有一定规律(行、列)如果数据文件本身没有说明文字(字母),就只有一个个的数据,可以使用load(filename)函数来加载数据,数据导出直接可以将要保存的数据保存到*.mat文件(在workspace中选择要保存的变量右键选另存为即可)。当然导入导出数据也

6、可以用fprintf,fscanf等文件操作指令进行,这样的好处在于可以在文件中写入一些提示性文字。1。如果F是一维矩阵,则FX=gradient(F,H)返回F的一维数值梯度。H是F中相邻两点间的间距。2。如果F是二维矩阵,返回F的二维数值梯度。FX,FY=gradient(F,HX,HY)。HX,HY参数表示各方向相邻两点的距离。3。如果F是三维矩阵,返回F的三维数值梯度。FX,FY,FZ=gradient(F,HX,HY,HZ)。HX,HY,HZ参数表示各方向相邻两点的距离。例: x=6,9,3,4,0;5,4,1,2,5;6,7,7,8,0;7,8,9,10,0x = 6 9 3 4

7、0 5 4 1 2 5 6 7 7 8 0 7 8 9 10 0 Fx,Fy=gradient(x)Fx =3.0000 -1.5000 -2.5000 -1.5000 -4.0000-1.0000 -2.0000 -1.0000 2.0000 3.00001.0000 0.5000 0.5000 -3.5000 -8.00001.0000 1.0000 1.0000 -4.5000 -10.0000Fy =-1.0000 -5.0000 -2.0000 -2.0000 5.0000 0 -1.0000 2.0000 2.0000 01.0000 2.0000 4.0000 4.0000 -2

8、.50001.0000 1.0000 2.0000 2.0000 0gradient()是求数值梯度函数的命令。Fx,Fy=gradient(x),其中Fx为其水平方向上的梯度,Fy为其垂直方向上的梯度,Fx的第一列元素为原矩阵第二列与第一列元素之差,Fx的第二列元素为原矩阵第三列与第一列元素之差除以2,以此类推:Fx(i,j)=(F(i,j+1)-F(i,j-1)/2。最后一列则为最后两列之差。同理,可以得到Fy。1、在上MATLAB课的时候,有学生问怎么用gradient函数求f=2x2+3y3的梯度啊,不懂得怎么写格式,试了很多次都不行.解答如下:在MATALB中,求梯度只能是求数值梯度

9、,所以必须将函数f离散化,用差分代替微分,精度取决于差分步长,因为现在计算机速度足够快,所以差分可以取得足够小,也不影响计算速度和计算精度.方法如下:X=-6:0.6:6; %计算区间是-6 6,步长0.6Y=X;x,y=meshgrid(X,Y) %生成计算网格f=2.*x.2+3.*y.3 %计算网格结点上的函数值Dx,Dy=gradient(f) %用数值方法求函数梯度quiver(X,Y,Dx,Dy) %用矢量绘图函数绘出梯度矢量大小分布holdoncontour(X,Y,f) %与梯度值对应,绘出原函数的等值线图结果如下:2、又如,研究偶极子(Dipole)的电势(Electric

10、potential)和电场强度(Electric field density)。设在处有电荷,在处有电荷。那么在电荷所在平面上任何一点的电势和场强分别为,。其中,。又设电荷,。clear;clf;q=2e-6;k=9e9;a=1.5;b=-1.5;x=-6:0.6:6;y=x;X,Y=meshgrid(x,y); %设置坐标网点rp=sqrt(X-a).2+(Y-b).2);rm=sqrt(X+a).2+(Y+b).2);V=q*k*(1./rp-1./rm); %计算电势Ex,Ey=gradient(-V); %计算场强AE=sqrt(Ex.2+Ey.2);Ex=Ex./AE;Ey=Ey./

11、AE %场强归一化,使箭头等长cv=linspace(min(min(V),max(max(V),49); %产生49个电位值contourf(X,Y,V,cv,k-) title(fontname隶书fontsize22偶极子的场), %写图标题命令hold onquiver(X,Y,Ex,Ey,0.7) 图形如下:%c,h=contour(z); %画等值线图 %c,h=contourf(z); 并用颜色填充%hlabel=clabel(c,h); %表示图中线条上所标值的个数 h label%hclrbar=colorbar; %显示颜色筐%set(hclrbar,fontsize,20

12、); %颜色筐的大小%set(gca,fontsize,20); %坐标系数的字体大小%set(hlabel(:),fontsize,20); %h标值的大小x=-10.5 -7 -3.5 0 3.5 7 10.5 -10.5 -7 -3.5 0 3.5 7 10.5 -10.5 -7 -3.5 0 3.5 7 10.5 -10.5 -7 -3.5 0 3.5 7 10.5;y=2 2 2 2 2 2 2 5 5 5 5 5 5 5 8 8 8 8 8 8 8 11 11 11 11 11 11 11;z=30 31 32 33 32 31 30 31 32 33 34 33 32 31 32

13、 33 34 35 34 33 32 33 34 35 36 35 34 33;X,Y=meshgrid(min(x):max(x),min(y):max(y);Z = griddata(x,y,z,X,Y);c,h=contour(X,Y,Z);clabel(c,h);给你两个主要用法:contour(x,y,z,等值线条数)contour(x,y,z,z1,z2,z3,z4,.)画指定值的等值线。你可以用第二个用法。强制输出特定的等值线。1,计算图像的梯度,用gradient()函数;2,quiver函数绘制梯度场(矢量场);示例:I = imread(rice.png);I=double

14、(I);X,Y=gradient(I);figure,imshow(I,);hold on;quiver(X,Y)A a abs 绝对值, 模 acos 反余弦 acosh 反双曲余弦 acot 反余切 acoth 反双曲余切 acsc 反余割 acsch 反双曲余割 all 所有元素均非零则为真 alpha 透明控制 angle 相角 ans 最新表达式的运算结果 any 有非零元则为真 area 面域图 asec 反正割 asech 反双曲正割 asin 反正弦 asinh 反双曲正弦 atan 反正切 atan2 四象限反正切 atanh 反双曲正切 autumn 红、黄浓淡色 axis

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号