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