matlab 当已知两个矩阵满足分别一定条件时_程序继续执行,MATLAB程序设计基础
2.1常量與變量
2.1.1 特殊常量
變量名
功 能 說 明
ANS(ans)
缺省變量名,以應答最近一次操作運算結果
i或j
虛數單位
Pi
圓周率
NaN
Not-a-number,表示不定值
tic
秒表開始執行
INF(inf)
代表無窮大
toc
秒表停止
Date
日歷
Clock
時鐘
2.1.2一般變量
變量命名遵守的原則:
1、 變量名區分大小寫
2、 變量名長度不超過31位,超過的將被忽略
3、 變量名以字母開頭,可以由字母、數字、下劃線組成,但不能使用標點
2.2數組
2.2.1 建立數組
方法:1、逐個元素輸入法 x=[1 2 ; 2 3;4 5]
2、冒號法 x=初始值:步長:終止值
3、特殊方法 x=linspace(初始量,終止量,數組元素個數)
y=logspace(初始量,終止量,數組元素個數)
2.2.2 引用數組
1、 一維數組
調用格式 x(n) x(n1:n2)
2、 二維數組
調用格式 x(m,:) x(:,n) x(m,n) x(m,n1:n2)
2.3運算符
2.3.1 算術運算符
操作符
功能說明
操作符
功能說明
+
加
\
算術左除
-
減
.\
點左除
*
算術乘
/
算術右除(傳統)
.*
點乘
./
點右除
^
算術乘方
′
算術轉置
.^
點乘方
.′
點轉置
2.3.2 關系運算符
操作符
功能說明
==
等于
~=
不等于
>
大于
<
小于
>=
大于等于
<=
小于等于
2.3.3 MATLAB邏輯關系運算符
邏輯運算符
邏輯運算
說明
&
And
邏輯與
∣
or
或
~
Not
非
Xor
Xor
異或
邏輯運算規則
輸入
與
或
異或
非
a
b
a&b
a|b
xor(a,b)
~a
0
0
0
0
0
1
0
1
0
1
1
1
1
0
0
1
1
0
1
1
1
1
0
0
例1:邏輯矩陣A=[1 1 ;0 1]、B=[0 1; 0 0],邏輯標量b=0,求c1=A&b ,c2=A|b, c3=xor(A,B)
2.3.4 邏輯函數
邏輯函數
函數意義
all
判斷是否所有元素為非零值
any
判斷是否存在一個元素為非零值
exist
查看變量或函數是否存在
find
找出向量或矩陣中非零元素的位置標識
isempty
判斷矩陣是否為空矩陣
isequal
判斷幾個對象是否相等
isnumeric
判斷對象是否為數值型
例2:向量a=[1 3 5] ,矩陣A=[1 2 3 ;0 4 5] ,求B1=all(a) B2=all(A)
B3=all(A,2)
例3:向量a=[0 3 0] ,矩陣A=[1 0 3;0 0 5] ,求B1=any(a) B2=any(A)
B3=any(A,2)
例 4:矩陣A=[1 0 3;0 0 5] ,求k=find(A) [I,j]=find(A) [I,j,v]=find(A)
例5:矩陣A=[0.34 0.6] ,B=[0.34;0.6] ,C=[‘who’],判斷A與B、A與C是否相等
例6:矩陣A=[0.34 0.6] , B=[1+2*i 0.6+3*i] ,C=[‘who’],判斷A、B、C是否為數據矩陣。
2.3.5 MATLAB特殊運算符
需要特別指出,下表中的特殊運算符是指在英語輸入狀態下輸入的字符,若在漢字輸入狀態下輸入則無效。
MATLAB特殊運算
符號
功能說明
:
冒號,在MATLAB中非常重要
;
分號,用于分隔行
,
逗號,用于分隔列
( )
圓括號,指出在算術表達式中先后次序
[ ]
方括號,用于構成向量和矩陣
{ }
大括號,用于構成單元數組
.
小數點或域訪問符
..
父目錄
…
用于語句行尾端表示該行未完
%
用于注釋
!
用于調用操作系統命令
=
用于賦值
經常使用的MATLAB特殊運算符,功能說明如下:
(1)冒號(:)
①使用冒號可以輸入行向量,其格式為:x = a : inc : b 。
a 是數組的第一個元素,inc是步長(兩個元素的間隔),步長可正可負; a、inc、b三者之間用冒號分隔;當inc=1時可以省略。
【例2-1】在MATLAB命令窗口輸入指令并回車(以下舉例同此)。
(1)a= 10:5:30(2)a= 10:-1:0(3)a= 10:15
②使用冒號能夠從向量、矩陣和數組中選出指定元素、行和列。
【例2-2】使用冒號選出指定元素。
1 2 3
A = 4 5 6
7 8 9
A= [1 2 3;4 5 6;7 8 9 ];
A(1:2,3)
③使用冒號能夠從一個大矩陣中選取小矩陣。
【例2-3】使用冒號選取小矩陣示例。
1 2 3
A = 4 5 6
7 8 9
A= [ 1 2 3;4 5 6;7 8 9 ];
B= A(2:3,:)
(2)方括號([ ])
方括號可以輸入矩陣,也可用方括號刪除矩陣的行和列,此時方括號[ ]代表空陣。
【例2-4】用方括號刪除矩陣的行和列。
A= magic(4);A
A(:,3)=[ ];
A
2.3.6數組函數
MATLAB 的基本數組函數
函數名
功能
函數名
功能
exp
指數
angle
復數的相角
log
自然指數
conj
復數的共軛
log10
常用對數
imag
復數的虛部
sqrt
平方根
real
復數的實部
abs
絕對值(復數的模)
sign
符號函數
2.3.7矩陣函數
1、矩陣生成函數
(1)zeros ( )函數
zeros ( )函數能夠生成元素全為0的矩陣
(2)ones ( )函數
ones ( )函數能夠生成元素全為1的矩陣
(3) magic ( )函數
在MATLAB中,magic ( )函數是一個特殊的函數,該函數能夠自動生成一種特別的N 階方陣(其中,N =1,3,4,5…)叫做魔方陣,這些N階方陣具有一個共同的奇妙特性,即每一行,每一列或對角線上的元素之和都相等。
(4)diag ( ) 函數
diag ( ) 函數可以生成對角矩陣
(5)triu ( ) 函數
triu ( ) 函數可以生成上三角矩形
(6)tril ( )函數
tril ( )函數可以生成下三角矩形
(7)size ( )函數
size ( )函數用來返回指定矩陣的行數和列數
(8) eye( )函數
eye( ) 函數可以生成指定行數和列數的單位矩陣。
eye( )函數和size ( )函數常常一起使用,用以生成與指定矩陣同維的單位矩陣。
2.4 m文件
M文件可以在程序編譯器、文本編譯器中編寫,都以‘.m’為擴展名存儲。MTALAB語言中的m文件可以分為命令文件和函數文件兩種。
2.4.1 命令文件
命令文件比函數文件簡單,沒有輸入參數和輸出參數,只是命令行的組合。
例 :分別繪制花瓣圖案: (程序見’ 2.4.1.m’)
2.4.2 函數文件
用來定義一個函數,必須指出函數名、輸入輸出參數,并有MTALAB語句序列的操作與處理,從而生成所需要的數據。
函數文件格式包括:
(1) 函數定義行:定義函數名、輸入輸出參數。
(2) 幫助信息第一行:反映該m文件概括性的信息
(3) 幫助正文:從第二行到非注釋行之間的注釋為幫助正文
(4) 函數體:所有計算過程和輸入輸出參數的MTALAB代碼
(5) 注釋:以%開頭
例:定義一個名為f.m的函數文件,并調用該函數。(object1.m)
2.4.3 m文件的調試
1、 m文件錯誤的種類
2、 識別錯誤:
2.5程序設計
2.5.1 順序結構
依次執行程序各條語句。(2.5.1.m)
2.5.2 分支結構
1、 條件語句(if—else--end)
[一般形式] if
‘真’執行
Else
‘假’ 執行
end
[簡化形式] if
‘真’執行
End
[嵌套形式] if
‘1真’執行
elseif
‘2真’執行
elseif
‘3真’執行
…..
Else
‘假’ 執行
end
例 (2.5.2.1m,a1.m)
2、開關語句(為了解決多分支判斷)switch—case—end 即使多條case語句為真,程序只執行遇到的第一條case語句。
[一般形式] switch x
case 選擇判斷值1 {}
判斷語句1
case 選擇判斷值2
判斷語句2
….
otherwise
判斷執行語句
end
例(f0233.m)
2.5.3 循環結構
1、 循環語句1(for--end)
適用于已知循環次數,不知道循環運算目標的問題
[調用形式] for 循環變量=
循環體
end
例(2.5.3.1.m)生成一個4行5列的矩陣
2、 循環語句2(while--end)
以條件滿足與否來判斷循環是否結束
適用于已知循環運算目標,不知道循環次數的問題
[一般形式] while
循環體
end
例 while i==5
A(i)=2;
end
A(i)
3、 循環語句的終止
在while 循環語句中,必須有修改循環控制變量的命令,否則該循環陷入死循環,除非循環語句中有退出循環控制命令(如break語句)。
總結
以上是生活随笔為你收集整理的matlab 当已知两个矩阵满足分别一定条件时_程序继续执行,MATLAB程序设计基础的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql树节点路径,关于mysql:从
- 下一篇: IDEA: .java文件和.class