2020.02.02一更
你好呀!初學matlab,做乙個記錄。本文適合有c基礎的matlab小白(我自己)。
力求簡短,文章多用**舉例。
知識點:矩陣寫法,迴圈、判斷,輸入輸出,函式,畫圖(二維,三維,曲面,動態)。
乘方(.^),不等於(~=),數學乘法(.*)
生成乙個2x3矩陣:
// 寫法1:
x =[12
3;45
6]// 寫法2:
x =[12
3;45
6]
總結:常見fprintf(), disp()
fprintf()
fprintf
('a = %g\n'
, a)
% 可以控制輸出格式
disp()
disp
('a'
)% 輸出字元'a'
disp
(a)% 輸出變數 a
disp([
,' '
,'banana'
,' '
,'pig'])
% 輸出字串,中間帶空格,也可以同時輸出多個變數
總結:縮排代替花括號,末尾end表結束
if else 判斷正負
if
(x>0)
disp
('x>0');
elseif x<
0disp
('x<0'
)else
disp
('x=0'
)end
while迴圈,求最大公約數(輾轉相除法)
a =
input
('please enter a\n'
)b =
input
('please enter b\n'
)r =
mod(a,b)
while r ~=0
a = b
b = r
r =mod(a,b)
enddisp
(b)
for迴圈
//基本用法
for i =5:
-1:5
% 起點,步長,終點
disp
(i)end
//遍歷向量
v =[12
3654
]for i = v
disp
(i)end
x =
mod(10,
3)% x=
1
function名字與儲存檔名保持一致,函式宣告原型即使用原型,引數一一對應,格式function [output parameter] = name[input parameter]
//求約數個數
function result =
conut_factors
(n) count =0;
for i =
1: n
ifmod(n,i)==0
count = count +
1 end
endresult = count
end
儲存後,指令碼直接呼叫即可。
//是否質數
function result =
is_prime
(n) count =
count_factors
(n);
if count ==
2 result =
1else
result =
0 end
end
二維圖形plot(x,y),三維圖形plot3(x,y,z),分割畫面畫圖subplot(m,n,x)
matlab會先找點,然後plot(直線)連線起來
二維
x =[1
23];
y =[45
6];% grid on
(off);%
開啟(關閉)背景網格
%title
('test');
% 設定標題
%xlabel
('x'),
ylabel
('y');
% 設定x,y標題
axis([
-5,5
,-5,
5]);
% x起點,終點,y起點,終點
axis equal;
% x,y間距相等
plot
(x,y)
;hold on;
% 防止再次呼叫plot函式覆蓋影象
x =-4
:0.1:4
;y1 =
cos(x)
;y2 =
cos(2.
* x)
;y4 =
cos(4.
* x)
;subplot(2
,2,1
);plot
(x,y1)
;title
('y=cos(x)');
subplot(2
,2,2
);plot
(x,y2)
;title
('y=cos(2x)');
subplot(2
,2,[
3,4]
;% 佔3
,4兩位
plot
(x,y3)
;title
('y=cos(4x)'
);
三維
theta =
0: pi/
50 : 6
*pi;
x =cos
(theta)
;y =
sin(theta)
;z =0:
300;
plot3
(x,y,z)
;
曲面surf(x,y,z)
x =-3
:3;y =-3
:3;[
x,y]
=meshgrid
(x,y);%
[x,y
]將形成平面的乙個矩陣z=
x.^2
+y.^
2;surf(x
,y,z
);
動態畫圖
x=-
2*pi : pi/20:
2*pi;y=
sin(x)
; h =
plot(x
,y);
while
truex=
x+0.1;y=
sin(x)
;set
(h,'xdata',x
,'ydata',y
);%set
(控制代碼,屬性名1, 屬性值1, 屬性名2, 屬性值2...
) drawnow;
end
先寫這些吧,後面有新的東西再更新。新的一年加油,武漢加油! matlab學習一,基礎語法
一 陣列的建立 直接輸入 temp 1,2,34,5 67,8,9 冒號操作符 a?c 在 a c 範圍內,間隔為b temp 1 2 5 輸出temp 1,3,5 linspace函式 linspace 1 8,3 linspace 1 2,8 將區間 a,b,n 分為n 1等份 ans 1 4....
Matlab 基本語法
注釋 使用 進行注釋,選中對應區域,按ctrl r可以一鍵注釋 注釋內容 邏輯運算 在matlab中,和c語言一樣,可以使用 和 但是也有不一樣的地方,例如 是不等於的意思,而不能使用 四則運算 1 1 1 1 1 1 1 1在matlab中輸出的結果如果沒有變數表示,預設使用ans表示 例如 4 ...
Matlab 基本語法
檔案 1.改變路徑 直接路徑 cd d workspaces matlab 資料夾名稱 到上層路徑 cd 到上上層路徑 cd 到當前資料夾的子資料夾 cd 子資料夾名稱 2.m檔案執行 open 檔名 3.檢視路徑 dir 畫圖 1.讀取 imdata imread 名.格式 或者 imdata i...