程序設(shè)計(jì)課件_第1頁(yè)
程序設(shè)計(jì)課件_第2頁(yè)
程序設(shè)計(jì)課件_第3頁(yè)
程序設(shè)計(jì)課件_第4頁(yè)
程序設(shè)計(jì)課件_第5頁(yè)
已閱讀5頁(yè),還剩93頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

一般介紹教學(xué)要求內(nèi)容簡(jiǎn)介目錄_見(jiàn)附件4前言_見(jiàn)附件3成績(jī)確定選課要求教學(xué)大綱_見(jiàn)附件1教學(xué)安排_(tái)見(jiàn)附件2學(xué)習(xí)方法學(xué)習(xí)要求_見(jiàn)目錄關(guān)于教材參考文獻(xiàn)教學(xué)方法教學(xué)改革一般介紹教學(xué)要求內(nèi)容簡(jiǎn)介目錄_見(jiàn)附件4前第1章MATLAB語(yǔ)言入門(mén)語(yǔ)言簡(jiǎn)單易學(xué)代碼短小高效計(jì)算功能強(qiáng)大繪圖非常方便擴(kuò)充能力強(qiáng)大幫助功能完整…R2006a2007a2008a發(fā)展歷程基本特點(diǎn)平臺(tái)外貌平臺(tái)安裝進(jìn)入編譯平臺(tái)編譯m文件或命令窗口輸入函數(shù)命令設(shè)計(jì)可視化程序界面進(jìn)一步編制m文件(底稿文件和函數(shù)文件)編譯過(guò)程與完善程序?qū)W習(xí)文件編程步驟簡(jiǎn)單實(shí)例(1)使用函數(shù)在線幫助help函數(shù)命令=>名稱通常是小寫(xiě)字母

(2)使用全部幫助。MATLAB7.0的自述文件,見(jiàn)圖1-14計(jì)算1到100的平方和。x=1:100y=x.^2;z=sum(y)第1章MATLAB語(yǔ)言入門(mén)語(yǔ)言簡(jiǎn)單易學(xué)…發(fā)展歷程基本特點(diǎn)平鼠標(biāo)雙擊WinXP桌面上圖標(biāo)在WinXP“開(kāi)始”菜單的“程序”選項(xiàng)中選擇“MATLAB”退出MATLAB命令窗口鍵入“quit”或“Ctrl+Q”鼠標(biāo)選擇菜單fileExit

MATLAB————MATLAB使用簡(jiǎn)介————啟動(dòng)

MATLAB鼠標(biāo)雙擊WinXP桌面上圖標(biāo)退出MATLAB————MATLMATLAB桌面命令窗口工作空間瀏覽命令歷史窗口MATLAB桌面命令窗口工作空間瀏覽命令歷史窗口命令窗口、編輯窗口、圖形窗口————MATLAB使用簡(jiǎn)介————命令窗口、編輯窗口、圖形窗口————MATLAB使用簡(jiǎn)介—>>n=0:1:63;S=sum(2.^n)S=1.8447e+019例2.

計(jì)算sinx

處的值>>clearx=pi./[8,6,4,3],y=sin(x)y=0.38270.50000.70710.8660————MATLAB使用簡(jiǎn)介————7/15例1.計(jì)算級(jí)數(shù):S=1+2+22+23+···+263=>>n=0:1:63;S=sum(2.^n)例2.計(jì)算s2.1常量與變量2.2數(shù)組建立與引用2.3運(yùn)算符2.4m文件2.5程序設(shè)計(jì)

MATLAB文件形式命令文件的命名與位置函數(shù)文件的命名與格式M文件的調(diào)試順序結(jié)構(gòu)分支結(jié)構(gòu)循環(huán)結(jié)構(gòu)2.1常量與變量2.2數(shù)組建立與引用2.3運(yùn)算符特殊常量

MATLAB中特殊的固定變量稱為常量。anspi

realmaxrealmininfNaNijdateclocktictoc2.1常量與變量_12.1.1特殊常量2.1常量與變量_1常數(shù)返回值ans默認(rèn)變量名,保存最近的結(jié)果pi圓周率realmax最大正浮點(diǎn)數(shù)realmin最小正浮點(diǎn)數(shù)inf無(wú)限值i,j虛數(shù)單位NaN不合法的數(shù)值值,非數(shù)值date日期clock時(shí)間常數(shù)返回值ans默認(rèn)變量名,數(shù)學(xué)表達(dá)式Matlab運(yùn)算符Matlab表達(dá)式加a+b+a+b減a-b-a-b乘a×b*a*b除a÷b/或\a/b或b\a冪ab^a^b基本運(yùn)算符運(yùn)算次序:1.冪>乘除>加減,同級(jí)運(yùn)算次序——“自左向右”2.括號(hào)“()”可以改變優(yōu)先次序數(shù)學(xué)表達(dá)式Matlab運(yùn)算符Matlab表達(dá)式加a+b+a+復(fù)數(shù):z=a+bi=reiθ一般形式:1)a+bi2)z=a+bi復(fù)數(shù)指令:real(z)給出復(fù)數(shù)z的實(shí)部;image(z)給出復(fù)數(shù)z的虛部;abs(z)給出復(fù)數(shù)z的模;angle(z)以弧度為單位計(jì)算z的復(fù)角。復(fù)數(shù):z=a+bi=reiθ一般形式:1)a+bi復(fù)數(shù)指令2.1.2一般變量(可動(dòng)變量)MATLAB依據(jù)變量值或?qū)ψ兞坎僮鱽?lái)識(shí)別變量類(lèi)型,不要求事先對(duì)所使用變量進(jìn)行聲明或指定變量類(lèi)型。

2.1.2一般變量(可動(dòng)變量)MATLAB中的變量命名規(guī)則:(1)變量名區(qū)分大小寫(xiě)。(2)變量名長(zhǎng)度不超過(guò)31位。(3)變量名以字母開(kāi)頭,可以是字母、數(shù)字、下劃線組成,但不能使用標(biāo)點(diǎn)。

2.1常量與變量_2變量命名規(guī)則MATLAB中的變量作用域。MATLAB中的變量命名規(guī)則:2.1常量與變量_2變量命例如:合法變量名x1,x2,a,b,c,abc,Ma1,zhang_3xNo_1,alpha,·········不合法變量:x%1,2x,x變量,abc.變量名和函數(shù)名對(duì)字母的大小寫(xiě)敏感;

X,x,Z,z是不同變量例如:合法變量名x1,x2,a,b,c,abc,Ma創(chuàng)建變量在命令窗口中直接輸入變量名稱創(chuàng)建A=9A=9isvarname8th_column//確認(rèn)變量名的合法性ans=0創(chuàng)建變量數(shù)據(jù)類(lèi)型舉例描述邏輯型數(shù)組magic(4)>10包含1、0或true、false字符型數(shù)組‘Hello’長(zhǎng)度16位,即為字符串Int8、unit8int16、unit16uint8(magic(3))長(zhǎng)度為8位、16位的有符號(hào)和無(wú)符號(hào)整型數(shù)組single3*10^38單精度數(shù)值型數(shù)組double3*10^3005+6i雙精度數(shù)值型數(shù)組單元數(shù)組{17'hello'eye(2)}包含其他數(shù)組。將不同大小有關(guān)系的數(shù)據(jù)集中到一起結(jié)構(gòu)數(shù)組a.day=12;a.color=‘red’;a.mat=magic(3);具有字段名。包含其他數(shù)組。與單元數(shù)組類(lèi)似matlab數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型舉例描述邏輯型數(shù)組magic(4MATLAB用format命令來(lái)控制輸出格式,formatshort短格式

3.146formatlong

長(zhǎng)格式3.14159265358979formatshorte短格式e3.1416e+000formatlonge長(zhǎng)格式e3.141592653589793e+000formatrat

分?jǐn)?shù)格式355/113formatbank銀行格式3.14MATLAB用format命令來(lái)控制輸出格式,formatwho

列出在MATLAB工作空間中已有的變量whos

列出駐留變量的同時(shí),還給出維數(shù)及性質(zhì)clear

刪除內(nèi)存中的變量(數(shù)據(jù))clc

刪除命令窗口的內(nèi)容(已使用過(guò)的命令)home

光標(biāo)移到命令窗口的左上角clf

刪除圖形窗口的內(nèi)容↑

調(diào)出剛才使用過(guò)的命令quit

退出MATLABdir顯示當(dāng)前目錄下文件及子目錄MATLAB命令窗口的部分通用命令who列出在MATLAB工作空間中已有的變量MAT2.2數(shù)組_1建立與引用2.2數(shù)組

2.2.1建立數(shù)組

1

逐個(gè)元素輸入法格式:x=[a,b,c]x=[abc]

[例2-1]

2.2數(shù)組_1建立與引用2.2數(shù)組2.2數(shù)組_1建立與引用2冒號(hào)法格式:x=初始量:步長(zhǎng):終止量x=i:j如果i<j,生成以i為初值,j為終值,1為步長(zhǎng)的有限等差數(shù)列;x=i:j:k如果i<k,生成以i為初值,k為終值,j為步長(zhǎng)的有限等差數(shù)列;x=i:-j:k如果i>k,生成以i為初值,k為終值,-j為步長(zhǎng)的有限等差數(shù)列;[例2-2]

2.2數(shù)組_1建立與引用2冒號(hào)法2.2數(shù)組_1建立與引用3

特殊方法[linspace,logspace]x=linspace(初始量:終止量:數(shù)組元素個(gè)數(shù))x=logspace(初始量:終止量:數(shù)組元素個(gè)數(shù))

[例2-3]

[例2-4]

2.2數(shù)組_1建立與引用3特殊方法[linspace2.2數(shù)組_1建立與引用2.2.2數(shù)組應(yīng)用格式:A(s):數(shù)組A的第s個(gè)元素

例如:A(3)=7A([1,3,5])=2A([1,3,5])=[2,6,7]2.2數(shù)組_1建立與引用2.2.2數(shù)組應(yīng)用格式:A(s)2.2.1創(chuàng)建矩陣的常用方法:1.直接輸入法;2.函數(shù)法;3.矩陣編輯器;4.數(shù)據(jù)文件法直接輸入法三條規(guī)則:矩陣元素必須在方括號(hào)[]之內(nèi);同一行相鄰元素間用逗號(hào)或空格分隔;矩陣的行與行之間必須用分號(hào)分隔.例4.三階Hilbert矩陣

A=[11/21/3;1/21/31/4;1/31/41/5]A=1.00000.50000.33330.50000.33330.25000.33330.25000.20002.2、矩陣2.2.1創(chuàng)建矩陣的常用方法:1.直接輸入法;2.函數(shù)C=[]—產(chǎn)生空陣r=rand——產(chǎn)生隨機(jī)數(shù)R=rand(3,4)——產(chǎn)生3×4階隨機(jī)矩陣E=eye(3)——產(chǎn)生3階單位矩陣B=zeros(3,4)——產(chǎn)生3×4階全“0”矩陣D=ones(3,4)——產(chǎn)生3×4階全“1”的矩陣X=magic(3)——產(chǎn)生3階幻方Y(jié)=vander(4)——產(chǎn)生4階范德蒙矩陣函數(shù)法構(gòu)造特殊矩陣C=[]—產(chǎn)生空陣函數(shù)法構(gòu)造特殊矩陣聚合矩陣通過(guò)連接一個(gè)或多個(gè)矩陣來(lái)形成新的矩陣C=[AB]//水平方向上聚合C=[A;B]//垂直方向上聚合例A=ones(2,5)*6;B=rand(3,5);C=[A;B]C=6.00006.00006.00006.00006.00006.00006.00006.00006.00006.00000.61540.73820.93550.89360.81320.79190.17630.91690.05790.00990.92180.40570.41030.35290.1389聚合矩陣通過(guò)連接一個(gè)或多個(gè)矩陣來(lái)形成新的矩陣?yán)鼳=on獲取矩陣的元素A(row,column)具體的:A(r,c)A(r,:)A(:,c)A(:)A(s)A(L)獲取矩陣的元素A(row,column)具體的:A=[269;428;351]A=269428351A(3,2)ans=5A(6)//等同A(3,2)ans=5Sum(A(1:3,3))//求第三列元素之和A=[269;428;351]12/18A=magic(3);B1=A(1,:),B12=A(1:2,:),B13=A([1,3],[1,3])B1=816B12=816357B13=864212/18A=magic(3);B1=A(1,:),B13.1、字符串創(chuàng)建字符串-使用單引號(hào)創(chuàng)建Country=‘China’;name=[‘LiYi’;’HuXu’]//創(chuàng)建二維字符串?dāng)?shù)組name=LiYiHuXuname=[‘LiuYing’;’HuXu’]//字符串長(zhǎng)度要相同name=char(‘LiuYing’,’HuXu’)//使用char函數(shù)創(chuàng)建3.1、字符串創(chuàng)建字符串-使用單引號(hào)創(chuàng)建Country=‘CStr2double函數(shù)將字符串單元數(shù)組轉(zhuǎn)換為雙精度值c={’37.294e-1’;’-58.375’;’13.796’};d=str2double(c)d=3.7294-58.375013.7960int2str:整型轉(zhuǎn)換為字符串型num2str:實(shí)數(shù)轉(zhuǎn)換為字符串型mat2str:矩陣轉(zhuǎn)換為字符串型Str2double函數(shù)將字符串單元數(shù)組轉(zhuǎn)換為雙精度值c={比較字符串str1=‘hello’;str2=‘help’;strcmp(str1,str2)C=0//falsestr1==str2ans=11100//確定兩個(gè)字符串中的相同字符strncmp:可選擇字符串的前n+1個(gè)字符進(jìn)行比較比較字符串str1=‘hello’;strncmp:可選擇聚合字符串num_chars=28;s=[‘Thereare‘int2str(num_chars)’charactershere’];s=sprintf(‘Thereare%dcharactershere\n’,num_chars);country=‘China’;province=‘SiChuan’;strcat(country,’,’,province)ans=China,SiChuan聚合字符串num_chars=28;country=‘Chi3.2、多維數(shù)組索引生成A=[578;019;436];//創(chuàng)建一個(gè)二維數(shù)組A(:,:,2)=[104;356;987];//為A添加第三維MATLAB函數(shù)生成B=randn(4,3,2);//創(chuàng)建正態(tài)分布隨機(jī)數(shù)的4×3×2的數(shù)組類(lèi)似的函數(shù)有ones(),zeros()等cat函數(shù)生成B=cat(dim,A1,A2…)//按指定的維數(shù)將多個(gè)數(shù)組聚合3.2、多維數(shù)組索引生成A=[578;019;434.1、結(jié)構(gòu)-調(diào)用字段的數(shù)組1、使用賦值語(yǔ)句創(chuàng)建結(jié)構(gòu)數(shù)組=‘Ludan’;//可包含任何類(lèi)型的數(shù)據(jù)student.ID=02;student.test=[797573;807877.5;808585];student(2).name=‘Hanxu’;//擴(kuò)展結(jié)構(gòu)數(shù)組student(2).ID=10;student(2).test=[687068;788881;929093];2、使用struct函數(shù)str_array=struct(‘field1’,val1,‘field2’,val2,…)4.1、結(jié)構(gòu)-調(diào)用字段的數(shù)組1、使用賦值語(yǔ)句創(chuàng)建結(jié)構(gòu)數(shù)組st3、獲取數(shù)據(jù)str=student(2).namestudent(3).test(2,2)=87IDs=[student.ID]//包含所有的ID字段4、操作字段student(2).gender=‘boy’;//為數(shù)組的每個(gè)結(jié)構(gòu)添加字段student=rmfield(student,’name’);//刪除給定字段mean((student(2).test));//計(jì)算test數(shù)組的行均值total=sum([student.ID]);所有ID字段求和3、獲取數(shù)據(jù)str=student(2).name4、操作字4.2、單元數(shù)組-能包含其它數(shù)組1、創(chuàng)建單元數(shù)組A[1,1]={[143;058;729]};A[1,2]={‘Liuzhong’};A[2,1]={3+7i;}A[2,2]={-pi:pi/10:pi};//通過(guò)矩陣單元索引訪問(wèn)數(shù)據(jù)或A{1,1}=[143;058;729];A{1,2}=‘Liuzhong’;A{2,1}=3+7i;A{2,2}=-pi:pi/10:pi;//通過(guò)矩陣內(nèi)容索引訪問(wèn)數(shù)據(jù)4.2、單元數(shù)組-能包含其它數(shù)組1、創(chuàng)建單元數(shù)組A[1,1]2.2數(shù)組_2細(xì)胞數(shù)組與結(jié)構(gòu)數(shù)組1

細(xì)胞數(shù)組[例2-8]

細(xì)胞數(shù)組是以單元為元素,每個(gè)單元可以包含其它類(lèi)型數(shù)組,如實(shí)數(shù)矩陣、字符串?dāng)?shù)組、復(fù)數(shù)向量。細(xì)胞數(shù)組通常由{}創(chuàng)建,其數(shù)據(jù)通過(guò)數(shù)組下標(biāo)引用。

2結(jié)構(gòu)數(shù)組[例2-9]結(jié)構(gòu)數(shù)組是根據(jù)屬性名組織起來(lái)的不同類(lèi)型數(shù)據(jù)集合,屬性可以包含不同數(shù)據(jù)類(lèi)型,結(jié)構(gòu)數(shù)組數(shù)據(jù)通過(guò)屬性名來(lái)引用。s=struct('field1',{},'field2',{},...)

2.2數(shù)組_2細(xì)胞數(shù)組與結(jié)構(gòu)數(shù)組1細(xì)胞數(shù)組[例2-82.3運(yùn)算符_1算術(shù)運(yùn)算符

2.3.1算術(shù)運(yùn)算符

算術(shù)加、減、乘及乘方與傳統(tǒng)的基本相同;點(diǎn)運(yùn)算(點(diǎn)乘、點(diǎn)乘方、點(diǎn)左除與點(diǎn)右除)是指元素點(diǎn)對(duì)點(diǎn)運(yùn)算,要求參與運(yùn)算變量結(jié)構(gòu)相似。除法運(yùn)算:a/b=a÷b;(ax=b,x=a\b’)2.3運(yùn)算符_1算術(shù)運(yùn)算符2.3.1算術(shù)運(yùn)算符2.3運(yùn)算符_2關(guān)系運(yùn)算符,邏輯運(yùn)算符

,邏輯函數(shù)2.3.2關(guān)系運(yùn)算符==~=>=<=[例if(a(5)==1&a(6)<=1);a(7)=2;end;]2.3.3邏輯運(yùn)算符&(和)|(或)~(非)2.3.4邏輯函數(shù)B1=all(a)%判斷向量a中的每個(gè)元素是否為非零數(shù)[i,j,v]=find(A);%找出非零元素位置[i,j]及其值[v]2.3運(yùn)算符_2關(guān)系運(yùn)算符,邏輯運(yùn)算符,邏輯函數(shù)2.3→2.3運(yùn)算符_3字符串操作2.3.5字符串操作

1

字符串定義

s='str',name=['str1''str2''str3']

字符串中要輸入“'”必須通過(guò)兩個(gè)“'”實(shí)現(xiàn)。

2

字符串轉(zhuǎn)換[例2-21,2->to]S=char(T)%正整數(shù)矩陣T轉(zhuǎn)換為字符串矩陣S

int2str(A),num2str(A,k),num2str(A,format)

eval(S),str2num(S)表示將字符串S轉(zhuǎn)化為數(shù)值?!?.3運(yùn)算符_3字符串操作2.3.5字符串操作2.3運(yùn)算符_4字符串操作[例][例2-21]將數(shù)值矩陣A轉(zhuǎn)換成字符串矩陣。A=[;]

[算例代碼]%例2-21A=[;];B1=int2str(A)B2=num2str(A,0)

B3=num2str(A,'%10.3f')%3位有效位,10位長(zhǎng)注意運(yùn)行結(jié)果。2.3運(yùn)算符_4字符串操作[例][例2-21]將數(shù)值矩陣2.3運(yùn)算符_5字符串比較與求值3字符串比較strcmp(str1,str2)表示將兩個(gè)字符串進(jìn)行比較4字符串求值

inline(exr),inline(expr,arg1,arg2,...)inline(exr)表示將字符串表達(dá)式轉(zhuǎn)化為函數(shù)表達(dá)式arg1,arg2,...為字符串,其作用是定義變量

%[例2-24]

f=inline('5*sin(x)+3*cos(y)','x','y')subs(f,'x',1);2.3運(yùn)算符_5字符串比較與求值3字符串比較2.3運(yùn)算符_6字符串比較與求值

如果其中的字符串要用具體數(shù)值代替,可以使用命令subs。使用命令subs時(shí)不能同時(shí)替換多個(gè)變量、一次只能替換一個(gè)變量,見(jiàn)下例。

[例]計(jì)算f=inline('5*sin(x)+3*cos(y)','x','y')當(dāng)x=1、y=2時(shí)的數(shù)值。symsxy;f=inline('5*sin(x)+3*cos(y)','x','y');A1=subs(f,x,1);A2=subs(A1,y,2);2.3運(yùn)算符_6字符串比較與求值如果2.4m文件_1MATLAB中文件形式:.m.fig.mdlm文件“.m”分命令文件和函數(shù)文件兩種。

2.4.1命令文件[例2-25]沒(méi)有輸入?yún)?shù)和輸出參數(shù)、只是命令行的組合.

命令文件最好保存在MATLAB7\works子目錄(工作目錄)下(或非中文目錄下).文件名命名與變量命名類(lèi)似,文件名與內(nèi)置函數(shù)及工具箱函數(shù)不應(yīng)重名、與命令文件及工作空間中的變量也不應(yīng)重名(最好不用中文名).

2.4m文件_1MATLAB中文件形式:.m2.4m文件_22.4.2函數(shù)文件函數(shù)文件一般包括:

函數(shù)定義行:function[輸出參數(shù)]=函數(shù)名[輸入?yún)?shù)]%返回變量多于一個(gè)時(shí)用方括號(hào).%函數(shù)名與所存的m文件名應(yīng)同名.%輸入變量多于一個(gè)時(shí)用逗號(hào)”,”隔開(kāi).%第二行,概括性信息,用于lookfor(查找)命令%第二行到第一非注釋行之間為注釋?zhuān)糜趆elp命令

%空行后不顯示。

%函數(shù)體注釋語(yǔ)句以%開(kāi)頭,可在m文件任何地方、或一行代碼的后面加注釋語(yǔ)句,%后的代碼部分為不執(zhí)行部分。函數(shù)調(diào)用:嵌套調(diào)用與遞歸調(diào)用2.4m文件_22.4.2函數(shù)文件2.4m文件_3[例2-26]定義一個(gè)名為f.m的函數(shù)文件,并調(diào)用該函數(shù)。[算例代碼]%例2-26a=1;b=2;c=f0226(a,b)%定義f0226.m函數(shù)%下述代碼另存為工作目錄下的f0226.m文件functionz=f0226(x,y)%在m文件中定義函數(shù)z=sin(x.^2)+y.^2-2*x-5;%函數(shù)表達(dá)式2.4m文件_3[例2-26]定義一個(gè)名為f.m的函數(shù)文件2.4m文件_42.4.3m文件的調(diào)試

1m文件錯(cuò)誤的種類(lèi)有語(yǔ)法錯(cuò)誤和執(zhí)行錯(cuò)誤:語(yǔ)法錯(cuò)誤一般是函數(shù)參數(shù)輸入類(lèi)型有誤或者矩陣運(yùn)算階數(shù)不符;執(zhí)行錯(cuò)誤則是程序運(yùn)行過(guò)程中出現(xiàn)溢出或死循環(huán)等造成。2錯(cuò)誤的識(shí)別

命令文件:檢查中間結(jié)果,去除“;”。

函數(shù)文件:變成命令文件。

3

調(diào)試過(guò)程

2.4m文件_42.4.3m文件的調(diào)試2.5程序設(shè)計(jì)2.5.1順序結(jié)構(gòu)2.5.2分支結(jié)構(gòu)

1

條件語(yǔ)句(if-else-end)

2開(kāi)關(guān)語(yǔ)句(switch-case-end)

%例2-33functiony=f0233(x)switchx,case{1,2},y=x*0.1;case{3,4},y=x*0.4;otherwise,y=x*0.5;end;

2.5.3循環(huán)結(jié)構(gòu)

1

循環(huán)語(yǔ)句1(for-end)(目標(biāo):執(zhí)行次數(shù)是否達(dá)到)

for循環(huán)控制變量=<初始值:步長(zhǎng):終值>,循環(huán)體,end

2

循環(huán)語(yǔ)句2(while-end)%例2-35(目標(biāo):條件是否達(dá)到)while(i==5),A(i)=1.5;end;A(i)

3循環(huán)語(yǔ)句的終止2.5程序設(shè)計(jì)2.5.1順序結(jié)構(gòu)演講完畢,謝謝觀看!演講完畢,謝謝觀看!一般介紹教學(xué)要求內(nèi)容簡(jiǎn)介目錄_見(jiàn)附件4前言_見(jiàn)附件3成績(jī)確定選課要求教學(xué)大綱_見(jiàn)附件1教學(xué)安排_(tái)見(jiàn)附件2學(xué)習(xí)方法學(xué)習(xí)要求_見(jiàn)目錄關(guān)于教材參考文獻(xiàn)教學(xué)方法教學(xué)改革一般介紹教學(xué)要求內(nèi)容簡(jiǎn)介目錄_見(jiàn)附件4前第1章MATLAB語(yǔ)言入門(mén)語(yǔ)言簡(jiǎn)單易學(xué)代碼短小高效計(jì)算功能強(qiáng)大繪圖非常方便擴(kuò)充能力強(qiáng)大幫助功能完整…R2006a2007a2008a發(fā)展歷程基本特點(diǎn)平臺(tái)外貌平臺(tái)安裝進(jìn)入編譯平臺(tái)編譯m文件或命令窗口輸入函數(shù)命令設(shè)計(jì)可視化程序界面進(jìn)一步編制m文件(底稿文件和函數(shù)文件)編譯過(guò)程與完善程序?qū)W習(xí)文件編程步驟簡(jiǎn)單實(shí)例(1)使用函數(shù)在線幫助help函數(shù)命令=>名稱通常是小寫(xiě)字母

(2)使用全部幫助。MATLAB7.0的自述文件,見(jiàn)圖1-14計(jì)算1到100的平方和。x=1:100y=x.^2;z=sum(y)第1章MATLAB語(yǔ)言入門(mén)語(yǔ)言簡(jiǎn)單易學(xué)…發(fā)展歷程基本特點(diǎn)平鼠標(biāo)雙擊WinXP桌面上圖標(biāo)在WinXP“開(kāi)始”菜單的“程序”選項(xiàng)中選擇“MATLAB”退出MATLAB命令窗口鍵入“quit”或“Ctrl+Q”鼠標(biāo)選擇菜單fileExit

MATLAB————MATLAB使用簡(jiǎn)介————啟動(dòng)

MATLAB鼠標(biāo)雙擊WinXP桌面上圖標(biāo)退出MATLAB————MATLMATLAB桌面命令窗口工作空間瀏覽命令歷史窗口MATLAB桌面命令窗口工作空間瀏覽命令歷史窗口命令窗口、編輯窗口、圖形窗口————MATLAB使用簡(jiǎn)介————命令窗口、編輯窗口、圖形窗口————MATLAB使用簡(jiǎn)介—>>n=0:1:63;S=sum(2.^n)S=1.8447e+019例2.

計(jì)算sinx

處的值>>clearx=pi./[8,6,4,3],y=sin(x)y=0.38270.50000.70710.8660————MATLAB使用簡(jiǎn)介————7/15例1.計(jì)算級(jí)數(shù):S=1+2+22+23+···+263=>>n=0:1:63;S=sum(2.^n)例2.計(jì)算s2.1常量與變量2.2數(shù)組建立與引用2.3運(yùn)算符2.4m文件2.5程序設(shè)計(jì)

MATLAB文件形式命令文件的命名與位置函數(shù)文件的命名與格式M文件的調(diào)試順序結(jié)構(gòu)分支結(jié)構(gòu)循環(huán)結(jié)構(gòu)2.1常量與變量2.2數(shù)組建立與引用2.3運(yùn)算符特殊常量

MATLAB中特殊的固定變量稱為常量。anspi

realmaxrealmininfNaNijdateclocktictoc2.1常量與變量_12.1.1特殊常量2.1常量與變量_1常數(shù)返回值ans默認(rèn)變量名,保存最近的結(jié)果pi圓周率realmax最大正浮點(diǎn)數(shù)realmin最小正浮點(diǎn)數(shù)inf無(wú)限值i,j虛數(shù)單位NaN不合法的數(shù)值值,非數(shù)值date日期clock時(shí)間常數(shù)返回值ans默認(rèn)變量名,數(shù)學(xué)表達(dá)式Matlab運(yùn)算符Matlab表達(dá)式加a+b+a+b減a-b-a-b乘a×b*a*b除a÷b/或\a/b或b\a冪ab^a^b基本運(yùn)算符運(yùn)算次序:1.冪>乘除>加減,同級(jí)運(yùn)算次序——“自左向右”2.括號(hào)“()”可以改變優(yōu)先次序數(shù)學(xué)表達(dá)式Matlab運(yùn)算符Matlab表達(dá)式加a+b+a+復(fù)數(shù):z=a+bi=reiθ一般形式:1)a+bi2)z=a+bi復(fù)數(shù)指令:real(z)給出復(fù)數(shù)z的實(shí)部;image(z)給出復(fù)數(shù)z的虛部;abs(z)給出復(fù)數(shù)z的模;angle(z)以弧度為單位計(jì)算z的復(fù)角。復(fù)數(shù):z=a+bi=reiθ一般形式:1)a+bi復(fù)數(shù)指令2.1.2一般變量(可動(dòng)變量)MATLAB依據(jù)變量值或?qū)ψ兞坎僮鱽?lái)識(shí)別變量類(lèi)型,不要求事先對(duì)所使用變量進(jìn)行聲明或指定變量類(lèi)型。

2.1.2一般變量(可動(dòng)變量)MATLAB中的變量命名規(guī)則:(1)變量名區(qū)分大小寫(xiě)。(2)變量名長(zhǎng)度不超過(guò)31位。(3)變量名以字母開(kāi)頭,可以是字母、數(shù)字、下劃線組成,但不能使用標(biāo)點(diǎn)。

2.1常量與變量_2變量命名規(guī)則MATLAB中的變量作用域。MATLAB中的變量命名規(guī)則:2.1常量與變量_2變量命例如:合法變量名x1,x2,a,b,c,abc,Ma1,zhang_3xNo_1,alpha,·········不合法變量:x%1,2x,x變量,abc.變量名和函數(shù)名對(duì)字母的大小寫(xiě)敏感;

X,x,Z,z是不同變量例如:合法變量名x1,x2,a,b,c,abc,Ma創(chuàng)建變量在命令窗口中直接輸入變量名稱創(chuàng)建A=9A=9isvarname8th_column//確認(rèn)變量名的合法性ans=0創(chuàng)建變量數(shù)據(jù)類(lèi)型舉例描述邏輯型數(shù)組magic(4)>10包含1、0或true、false字符型數(shù)組‘Hello’長(zhǎng)度16位,即為字符串Int8、unit8int16、unit16uint8(magic(3))長(zhǎng)度為8位、16位的有符號(hào)和無(wú)符號(hào)整型數(shù)組single3*10^38單精度數(shù)值型數(shù)組double3*10^3005+6i雙精度數(shù)值型數(shù)組單元數(shù)組{17'hello'eye(2)}包含其他數(shù)組。將不同大小有關(guān)系的數(shù)據(jù)集中到一起結(jié)構(gòu)數(shù)組a.day=12;a.color=‘red’;a.mat=magic(3);具有字段名。包含其他數(shù)組。與單元數(shù)組類(lèi)似matlab數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型舉例描述邏輯型數(shù)組magic(4MATLAB用format命令來(lái)控制輸出格式,formatshort短格式

3.146formatlong

長(zhǎng)格式3.14159265358979formatshorte短格式e3.1416e+000formatlonge長(zhǎng)格式e3.141592653589793e+000formatrat

分?jǐn)?shù)格式355/113formatbank銀行格式3.14MATLAB用format命令來(lái)控制輸出格式,formatwho

列出在MATLAB工作空間中已有的變量whos

列出駐留變量的同時(shí),還給出維數(shù)及性質(zhì)clear

刪除內(nèi)存中的變量(數(shù)據(jù))clc

刪除命令窗口的內(nèi)容(已使用過(guò)的命令)home

光標(biāo)移到命令窗口的左上角clf

刪除圖形窗口的內(nèi)容↑

調(diào)出剛才使用過(guò)的命令quit

退出MATLABdir顯示當(dāng)前目錄下文件及子目錄MATLAB命令窗口的部分通用命令who列出在MATLAB工作空間中已有的變量MAT2.2數(shù)組_1建立與引用2.2數(shù)組

2.2.1建立數(shù)組

1

逐個(gè)元素輸入法格式:x=[a,b,c]x=[abc]

[例2-1]

2.2數(shù)組_1建立與引用2.2數(shù)組2.2數(shù)組_1建立與引用2冒號(hào)法格式:x=初始量:步長(zhǎng):終止量x=i:j如果i<j,生成以i為初值,j為終值,1為步長(zhǎng)的有限等差數(shù)列;x=i:j:k如果i<k,生成以i為初值,k為終值,j為步長(zhǎng)的有限等差數(shù)列;x=i:-j:k如果i>k,生成以i為初值,k為終值,-j為步長(zhǎng)的有限等差數(shù)列;[例2-2]

2.2數(shù)組_1建立與引用2冒號(hào)法2.2數(shù)組_1建立與引用3

特殊方法[linspace,logspace]x=linspace(初始量:終止量:數(shù)組元素個(gè)數(shù))x=logspace(初始量:終止量:數(shù)組元素個(gè)數(shù))

[例2-3]

[例2-4]

2.2數(shù)組_1建立與引用3特殊方法[linspace2.2數(shù)組_1建立與引用2.2.2數(shù)組應(yīng)用格式:A(s):數(shù)組A的第s個(gè)元素

例如:A(3)=7A([1,3,5])=2A([1,3,5])=[2,6,7]2.2數(shù)組_1建立與引用2.2.2數(shù)組應(yīng)用格式:A(s)2.2.1創(chuàng)建矩陣的常用方法:1.直接輸入法;2.函數(shù)法;3.矩陣編輯器;4.數(shù)據(jù)文件法直接輸入法三條規(guī)則:矩陣元素必須在方括號(hào)[]之內(nèi);同一行相鄰元素間用逗號(hào)或空格分隔;矩陣的行與行之間必須用分號(hào)分隔.例4.三階Hilbert矩陣

A=[11/21/3;1/21/31/4;1/31/41/5]A=1.00000.50000.33330.50000.33330.25000.33330.25000.20002.2、矩陣2.2.1創(chuàng)建矩陣的常用方法:1.直接輸入法;2.函數(shù)C=[]—產(chǎn)生空陣r=rand——產(chǎn)生隨機(jī)數(shù)R=rand(3,4)——產(chǎn)生3×4階隨機(jī)矩陣E=eye(3)——產(chǎn)生3階單位矩陣B=zeros(3,4)——產(chǎn)生3×4階全“0”矩陣D=ones(3,4)——產(chǎn)生3×4階全“1”的矩陣X=magic(3)——產(chǎn)生3階幻方Y(jié)=vander(4)——產(chǎn)生4階范德蒙矩陣函數(shù)法構(gòu)造特殊矩陣C=[]—產(chǎn)生空陣函數(shù)法構(gòu)造特殊矩陣聚合矩陣通過(guò)連接一個(gè)或多個(gè)矩陣來(lái)形成新的矩陣C=[AB]//水平方向上聚合C=[A;B]//垂直方向上聚合例A=ones(2,5)*6;B=rand(3,5);C=[A;B]C=6.00006.00006.00006.00006.00006.00006.00006.00006.00006.00000.61540.73820.93550.89360.81320.79190.17630.91690.05790.00990.92180.40570.41030.35290.1389聚合矩陣通過(guò)連接一個(gè)或多個(gè)矩陣來(lái)形成新的矩陣?yán)鼳=on獲取矩陣的元素A(row,column)具體的:A(r,c)A(r,:)A(:,c)A(:)A(s)A(L)獲取矩陣的元素A(row,column)具體的:A=[269;428;351]A=269428351A(3,2)ans=5A(6)//等同A(3,2)ans=5Sum(A(1:3,3))//求第三列元素之和A=[269;428;351]12/18A=magic(3);B1=A(1,:),B12=A(1:2,:),B13=A([1,3],[1,3])B1=816B12=816357B13=864212/18A=magic(3);B1=A(1,:),B13.1、字符串創(chuàng)建字符串-使用單引號(hào)創(chuàng)建Country=‘China’;name=[‘LiYi’;’HuXu’]//創(chuàng)建二維字符串?dāng)?shù)組name=LiYiHuXuname=[‘LiuYing’;’HuXu’]//字符串長(zhǎng)度要相同name=char(‘LiuYing’,’HuXu’)//使用char函數(shù)創(chuàng)建3.1、字符串創(chuàng)建字符串-使用單引號(hào)創(chuàng)建Country=‘CStr2double函數(shù)將字符串單元數(shù)組轉(zhuǎn)換為雙精度值c={’37.294e-1’;’-58.375’;’13.796’};d=str2double(c)d=3.7294-58.375013.7960int2str:整型轉(zhuǎn)換為字符串型num2str:實(shí)數(shù)轉(zhuǎn)換為字符串型mat2str:矩陣轉(zhuǎn)換為字符串型Str2double函數(shù)將字符串單元數(shù)組轉(zhuǎn)換為雙精度值c={比較字符串str1=‘hello’;str2=‘help’;strcmp(str1,str2)C=0//falsestr1==str2ans=11100//確定兩個(gè)字符串中的相同字符strncmp:可選擇字符串的前n+1個(gè)字符進(jìn)行比較比較字符串str1=‘hello’;strncmp:可選擇聚合字符串num_chars=28;s=[‘Thereare‘int2str(num_chars)’charactershere’];s=sprintf(‘Thereare%dcharactershere\n’,num_chars);country=‘China’;province=‘SiChuan’;strcat(country,’,’,province)ans=China,SiChuan聚合字符串num_chars=28;country=‘Chi3.2、多維數(shù)組索引生成A=[578;019;436];//創(chuàng)建一個(gè)二維數(shù)組A(:,:,2)=[104;356;987];//為A添加第三維MATLAB函數(shù)生成B=randn(4,3,2);//創(chuàng)建正態(tài)分布隨機(jī)數(shù)的4×3×2的數(shù)組類(lèi)似的函數(shù)有ones(),zeros()等cat函數(shù)生成B=cat(dim,A1,A2…)//按指定的維數(shù)將多個(gè)數(shù)組聚合3.2、多維數(shù)組索引生成A=[578;019;434.1、結(jié)構(gòu)-調(diào)用字段的數(shù)組1、使用賦值語(yǔ)句創(chuàng)建結(jié)構(gòu)數(shù)組=‘Ludan’;//可包含任何類(lèi)型的數(shù)據(jù)student.ID=02;student.test=[797573;807877.5;808585];student(2).name=‘Hanxu’;//擴(kuò)展結(jié)構(gòu)數(shù)組student(2).ID=10;student(2).test=[687068;788881;929093];2、使用struct函數(shù)str_array=struct(‘field1’,val1,‘field2’,val2,…)4.1、結(jié)構(gòu)-調(diào)用字段的數(shù)組1、使用賦值語(yǔ)句創(chuàng)建結(jié)構(gòu)數(shù)組st3、獲取數(shù)據(jù)str=student(2).namestudent(3).test(2,2)=87IDs=[student.ID]//包含所有的ID字段4、操作字段student(2).gender=‘boy’;//為數(shù)組的每個(gè)結(jié)構(gòu)添加字段student=rmfield(student,’name’);//刪除給定字段mean((student(2).test));//計(jì)算test數(shù)組的行均值total=sum([student.ID]);所有ID字段求和3、獲取數(shù)據(jù)str=student(2).name4、操作字4.2、單元數(shù)組-能包含其它數(shù)組1、創(chuàng)建單元數(shù)組A[1,1]={[143;058;729]};A[1,2]={‘Liuzhong’};A[2,1]={3+7i;}A[2,2]={-pi:pi/10:pi};//通過(guò)矩陣單元索引訪問(wèn)數(shù)據(jù)或A{1,1}=[143;058;729];A{1,2}=‘Liuzhong’;A{2,1}=3+7i;A{2,2}=-pi:pi/10:pi;//通過(guò)矩陣內(nèi)容索引訪問(wèn)數(shù)據(jù)4.2、單元數(shù)組-能包含其它數(shù)組1、創(chuàng)建單元數(shù)組A[1,1]2.2數(shù)組_2細(xì)胞數(shù)組與結(jié)構(gòu)數(shù)組1

細(xì)胞數(shù)組[例2-8]

細(xì)胞數(shù)組是以單元為元素,每個(gè)單元可以包含其它類(lèi)型數(shù)組,如實(shí)數(shù)矩陣、字符串?dāng)?shù)組、復(fù)數(shù)向量。細(xì)胞數(shù)組通常由{}創(chuàng)建,其數(shù)據(jù)通過(guò)數(shù)組下標(biāo)引用。

2結(jié)構(gòu)數(shù)組[例2-9]結(jié)構(gòu)數(shù)組是根據(jù)屬性名組織起來(lái)的不同類(lèi)型數(shù)據(jù)集合,屬性可以包含不同數(shù)據(jù)類(lèi)型,結(jié)構(gòu)數(shù)組數(shù)據(jù)通過(guò)屬性名來(lái)引用。s=struct('field1',{},'field2',{},...)

2.2數(shù)組_2細(xì)胞數(shù)組與結(jié)構(gòu)數(shù)組1細(xì)胞數(shù)組[例2-82.3運(yùn)算符_1算術(shù)運(yùn)算符

2.3.1算術(shù)運(yùn)算符

算術(shù)加、減、乘及乘方與傳統(tǒng)的基本相同;點(diǎn)運(yùn)算(點(diǎn)乘、點(diǎn)乘方、點(diǎn)左除與點(diǎn)右除)是指元素點(diǎn)對(duì)點(diǎn)運(yùn)算,要求參與運(yùn)算變量結(jié)構(gòu)相似。除法運(yùn)算:a/b=a÷b;(ax=b,x=a\b’)2.3運(yùn)算符_1算術(shù)運(yùn)算符2.3.1算術(shù)運(yùn)算符2.3運(yùn)算符_2關(guān)系運(yùn)算符,邏輯運(yùn)算符

,邏輯函數(shù)2.3.2關(guān)系運(yùn)算符==~=>=<=[例if(a(5)==1&a(6)<=1);a(7)=2;end;]2.3.3邏輯運(yùn)算符&(和)|(或)~(非)2.3.4邏輯函數(shù)B1=all(a)%判斷向量a中的每個(gè)元素是否為非零數(shù)[i,j,v]=find(A);%找出非零元素位置[i,j]及其值[v]2.3運(yùn)算符_2關(guān)系運(yùn)算符,邏輯運(yùn)算符,邏輯函數(shù)2.3→2.3運(yùn)算符_3字符串操作2.3.5字符串操作

1

字符串定義

s='str',name=['str1''str2''str3']

字符串中要輸入“'”必須通過(guò)兩個(gè)“'”實(shí)現(xiàn)。

2

字符串轉(zhuǎn)換[例2-21,2->to]S=char(T)%正整數(shù)矩陣T轉(zhuǎn)換為字符串矩陣S

int2str(A),num2str(A,k),num2str(A,format)

eval(S),str2num(S)表示將字符串S轉(zhuǎn)化為數(shù)值?!?.3運(yùn)算符_3字符串操作2.3.5字符串操作2.3運(yùn)算符_4字符串操作[例][例2-21]將數(shù)值矩陣A轉(zhuǎn)換成字符串矩陣。A=[;]

[算例代碼]%例2-21A=[;];B1=int2str(A)B2=num2str(A,0)

B3=num2str(A,'%10.3f')%3位有效位,10位長(zhǎng)注意運(yùn)行結(jié)果。2.3運(yùn)算符_4字符串操作[例][例2-21]將數(shù)值矩陣2.3運(yùn)算符_5字符串比較與求值3字符串比較strcmp(str1,str2)表示將兩個(gè)字符串進(jìn)行比較4字符串求值

inli

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論