matlab的基本操作
1、写在前面
最近在处理一些作业时用到了matlab,发现以前学习的语句已经忘得差不多了。现在找到以前的学习资料,重新复习一下。顺便总结一下知识点,以免下一次使用时又忘记了而又找不到资料。
2、matlab语法
先来看一下软件的初始界面和文件类型。
图中的界面主要是三部分:工程界面(左边框)、编辑框(右边框)和结果框(右下角)。如果只是数据处理,使用这三个界面就可以实现了。图中的文件类型也是分为两种:".m" ".mdl"。mdl文件是simulink的工程文件。曾经用来做电路仿真的,而且需要库,这里就不多谈论。m文件是主要的执行文件。至于那个由开头的文件夹是用于创建类的,这里也不涉及。这里回顾的主要内容是一些基本语法和函数。
Radius=input('Please input the radius: '); Area=pi*Radius^2; disp('s='); disp(Area);
这是一个已知半径求圆面积的m文件。
使用的input输入函数,基本运算符和disp显示函数。
function s=area(r) % AREA For calculating the area of a round . % area.m s=pi*r^2;
这是以函数的方式定义的,就是输入r得到s
function [z,h ] = ave( x,y ) % 求均 z=(x+y)/2; h=(x+y)^0.5; end
这是一个求算数平均和几何平均的函数。从这个函数可以看到matlab的注释符号是%,这点需要注意。
w=[1,2]; Us=[10,0]; Is=[0,5]; Z1=1./(0.5*w*j); Z2=[2,2]; Z3=[2,2]; Z4=1*w*j; Uoc=(Z2./(Z1+Z2)-Z4./(Z3+Z4)).*Us Zeq=Z3.*Z4./(Z3+Z4)+Z1.*Z2./(Z1+Z2) U=Is.*Zeq+Uoc disp(' w Um phi') disp([w',abs(U'),angle(U')*180/pi])
matlab中的所有数据都是以矩阵形式存在的。所以,只要是乘除法都需要用“."区分每位运算还是矩阵运算。上面的代码从后面四行开始就没有写”;“作为终结符号,这可以使等式左边的所有数据显示在输出中。
[X,Y]=meshgrid(-3:0.1:3); T=X+Y; if T>1 Z=0.54*exp(-0.75*X.^2-3.75*Y.^2-1.5*Y); elseif -1<T<=1 Z=0.7575*exp(-X.^2-6*Y.^2); else Z=0.5457*exp(-0.75*X.^2-3.75*Y.^2+1.5*Y); end surf(X,Y,Z) %plot3(X,Y,Z) %mesh(X,Y,Z)
这是一段画图的代码。使用了if else语句。注释部分是画图的其他函数。具体效果如下:
其他效果一般找百度就行,根据自己的需求去找。
x=-4:0.2:4; y=x; [X,Y]=meshgrid(x,y); Z=X.^2+Y.^2; title('椭圆抛物面网线图'); C=0*X+0*Y+1; surf(X,Y,Z,C); hold on; k=-4; while k<=4 h=-4; while h<=4 plot3(k,h,k.^2+h.^2,'b-*'); h=h+0.2; end k=k+0.2; end
这也是一段画图的操作,有一些基本的设置,如标题等。这里数据的输入不是标准矩阵,而是等距简写,这个形式可以记一下。
注意hold on的使用,否则会出现图片瞬闪的情况。
%practice a=1:0.1:100; b=sin(a); c=cos(b); d=tan(c); e=sin(d); f=cos(e); g=tan(f); plot(a,b,a,c,a,d,a,e,a,f,a,g); hold on;
这是一段常用三角函数的函数应用。
对了,要注意变量的命名。由于matlab将打开的文件夹作为工作区。所以该文件夹的所有变量的值都是通用存储的。如果不在m文件前面添加清除指令,那就要保证所有的变量命名不同。
3、matlab常见功能
matlab对于学生来说,主要还是数据计算和画图。数据计算的话输入矩阵即可,画图可以在网上找到相应的函数或者在帮助手册中找到资料即可。由于只是复习一下这个软件的基本语法,这里就不一一详细地描述操作。