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對於學生來說,主要還是數據計算和畫圖。數據計算的話輸入矩陣即可,畫圖可以在網上找到相應的函數或者在幫助手冊中找到資料即可。由於只是復習一下這個軟件的基本語法,這里就不一一詳細地描述操作。
