資源描述:
《第二講matlab的數(shù)值計算》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、MATLAB程序設(shè)計基礎(chǔ)MATLAB的數(shù)值計算Matlab的數(shù)據(jù)類型變量變量不需要事先聲明,也不需要指定變量類型,它會自動根據(jù)所賦予變量的值或?qū)ψ兞康牟僮鱽泶_定變量的類型;賦值過程中,如果變量已存在,則用新值代替舊值,以新的類型代替舊的類型。變量的命名規(guī)則:變量名區(qū)分大小寫;變量名長度不超過31位,第31位之后的字符被忽略;變量名以字母開頭,變量名中可以包含字母、數(shù)字、下劃線,但不能使用標(biāo)點。變量一般為局部變量,即僅在其調(diào)用的M文件內(nèi)部有效;若要定義全局變量,須在變量前加關(guān)鍵字global。常量matlab中預(yù)定義的一些特殊的
2、量。i,j虛數(shù)單位Realmin最小的正浮點數(shù),pi圓周率Realmax最大的浮點數(shù),eps浮點運算的相對精度Inf無窮大NaNnotanumber,不定值例如:>>pians=3.1416>>1/0Warning:Dividebyzero.ans=Inf>>0/0Warning:Dividebyzero.ans=NaN定義變量時應(yīng)避免與常量名相同,如果改變了某個常量的值,可以用clear命令來恢復(fù)。>>pi=1pi=1>>clearpi>>pians=3.1416數(shù)字變量數(shù)字變量的運算>>258*369ans=95202>>
3、x=258*369x=95202>>123^3ans=1860867>>sqrt(ans)ans=1.3641e+003數(shù)字的輸入輸出格式缺省為實數(shù)保留小數(shù)點后4位浮點數(shù)表示。其輸入格式與C語言一致:如:9-730.19991.475e6輸出格式由format命令控制,只是影響屏幕顯示效果,不影響內(nèi)部存儲和計算。>>formatlong;pians=3.14159265358979>>formatlonge;pians=3.141592653589793e+000>>formatlongg;pians=3.1415926535
4、8979字符串1、字符串的約定字符串用單引號輸入或賦值;字符串的每個字符都是都是字符數(shù)組的一個元素;字符串和字符數(shù)組基本上等價。>>s='symbolic's=symbolic>>size(s)ans=18>>s(3)ans=m字符串的轉(zhuǎn)換double字符串轉(zhuǎn)換為數(shù)值代碼num2str數(shù)字轉(zhuǎn)換為字符串int2str整數(shù)轉(zhuǎn)換為字符串mat2str矩陣轉(zhuǎn)換為字符串str2num轉(zhuǎn)換字符串為數(shù)字>>double(s)ans=495051505152字符串操作strcatstrcmpstrvcatstrncmpfindstrupper
5、lowerblanksdeblank……執(zhí)行字符串>>t='1/(a*b-1)';a=2;b=3;c=eval(t)c=0.2000結(jié)構(gòu)型變量由函數(shù)struct定義,以指針操作符“.”連接結(jié)構(gòu)型變量名與屬性名。結(jié)構(gòu)型變量名=struct(元素名1,元素值1,元素名2,元素值2,…)>>c=struct('c1',1,'c2',[1234],'c3','abcd')c=c1:1c2:[1234]c3:'abcd'>>c.c2ans=1234>>c.c3ans=abcd單元型變量單元型變量為任意類型的多維數(shù)組,其定義需用大括號,元
6、素間用逗號隔開。>>a=[1,2;3,4]a=1234>>b={1:4,a,'abcd'}b=[1x4double][2x2double]'abcd'?cellplot(b)單元型變量元素的引用采用大括號為下標(biāo)標(biāo)識,用小括號只顯示該元素的壓縮形式。>>b{2}ans=1234>>b(2)ans=[2x2double]向量向量元素用“[]”括起來,元素間用空格、逗號或分號分隔;注意:空格和逗號分隔成行向量,分號分割成列向量。冒號表達式生成向量基本格式:x=x1:step:x2x=x1:x2>>a=1:2:12a=1357911>
7、>a=12:-2:1a=12108642>>a=1:6a=123456線性等分向量生成y=linspace(x1,x2)生成100維行向量y=linspace(x1,x2,n)生成n維行向量>>a=linspace(1,100,6)a=1.000020.800040.600060.400080.2000100.0000對數(shù)等分向量生成y=logspace(x1,x2)生成50維對數(shù)等分向量,y(1)=10^x1y(50)=10^x2y=logspace(x1,x2,n)生成n維對數(shù)等分向量y(1)=10^x1y(n)=10^x
8、2>>a=logspace(0,5,6)a=110100100010000100000向量的基本運算與數(shù)運算a=1.000020.800040.600060.400080.2000100.0000>>a-1ans=019.800039.600059.400079.200099