matlab的基本操作


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM