matlab中怎麼提高顯示的精度例如我求出矩陣

時間 2022-04-21 12:29:29

1樓:匿名使用者

format long e

計算都是以最高精度計算的,還好你只是要改變顯示精度:)

如何控制matlab中的資料輸出格式? 改變輸出位數精度

一. 命令方法

針對資料的顯示形式控制,matlab中有專用命令 format

但該命令不影響資料的儲存形式和計算精度

format 預設格式

format short 5字長定點數

format long 15字長定點數

format short e 5字長浮點數

format long e 15字長浮點數

format short g

format long g

format hex 16進製制

format bank 定點貨幣形式

format rat 小數分數表示

format + +,-,空格

format compact 壓縮空格

format loose 包括空格和空行

format long 15字長定點數

format short e 5字長浮點數

format long e 15字長浮點數

format short g

format long g

format hex 16進製制

format bank 定點貨幣形式

format rat 小數分數表示

format + +,-,空格

format compact 壓縮空格

format loose 包括空格和空行

二. 選單方式

當然也可以不用format 命令,可以修改系統的預設設定格式,file->preferences->command window->text display.

如果想得到分數可以用rats()函式

如果想得到根號,只有用符號表示了,當然用符號表示是萬能的。例如:

a=1/3 得到 0.33333

rats(a) 得到 1/3

a='sqrt(3)' 得到 sqrt(3) 不過這是字元型,要轉換成數值型可以用eval(a),或str2num(a).

但是無論matlab中採取什麼樣的輸出格式,在系統核心中的變數的精度總是保持精確的(盡可能)。除非你人為的改變它的計算精度。我們可以用乙個簡單的例子來說明這個問題:

如a=1/3 顯示為0.33333333

a=a*3 得到 1 (不是0.99999999)

在很多其它的程式語言中是不可能得到1的。這就說明了matlab在計算的過程中不會損失使用者的計算資訊(包括中間結果)。

2樓:匿名使用者

在matlab中執行format long,能顯示0.000445466280000這麼多位,足夠用啦。

matlab中矩陣中的資料精度如何改變

3樓:她是我的小太陽

提高matlab中數值的精度,例如下:

例如要求矩陣的特徵值

a =1 2

1 3>> eig(a) !!求矩陣a的全部特徵值。

ans = !!a的特徵值計算如下

0.2679

3.7321

計算的結果如上,但現在精度不夠,需要精確到小數點後9到10位。

方法如下:

1)vpa(eig(a),10) !!使用變數精度演算法(vpa)去計算a的特徵值每個元素為10位小數字精度,其中10是當前設定的位數。

ans =

.2679491924

3.732050808

2)>> a = [1 2;1 4];

>> format long !! format long 顯示15位雙精度。

>> eig(a)

ans =

0.267949192431123

3.732050807568877

format:設定輸出格式

對浮點性變數,預設為format short.

format並不影響matlab如何計算和儲存變數的值。對浮點型變數的計算,即單精度或雙精度,按合適的浮點精度進行,而不論變數是如何顯示的。對整型變數採用整型資料。

整型變數總是根據不同的類(class)以合適的資料位顯示,例如,3位數字顯示顯示int8範圍 -128:127。

format short, long不影響整型變數的顯示。

format long 顯示15位雙精度,7為單精度(scaled fixed point)

format short 顯示5位(scaled fixed point format with 5 digits)

format short eng 至少5位加3位指數

format long eng 16位加至少3位指數

format hex 十六進製制

format bank 2個十進位制位

format + 正、負或零

format rat 有理數近似

format short 預設顯示

format long g 對雙精度,顯示15位定點或浮點格式,對單精度,顯示7位定點或浮點格式

format short g 5位定點或浮點格式

format short e 5位浮點格式

format long e 雙精度為15位浮點格式,單精度為7為浮點格式

4樓:匿名使用者

標量資料其實也是矩陣啊,個人感覺應該沒有問題哦。如果不行,你試試看format long e試試看

matlab中怎麼取乙個矩陣的一部分

5樓:灩麗

1、開啟matlab,在命令列視窗中輸入a=[1 2 3 4;4 5 6 7;1 2 3 4],按回車鍵建立乙個3行4列的矩陣。

2、如果我們想獲取矩陣第2行第3列的資料,輸入a(2,3)。

3、想獲取矩陣第3列的第乙個和第三個,輸入a([1 3],3)。

4、想獲取矩陣某列的連續資料,可以使用a(1:2,3),獲取第3列第1個到第2個資料。

5、使用a(2:end,3)獲取第3列,第2個到最後乙個資料,根據需要獲取矩陣資料即可。

6樓:ieio啊

matlab中要取乙個矩陣的一部分,可以參考以下內容:

比如說有乙個5×5的矩陣,想取它右下腳3*2的矩陣,應該用命令:

a=zeros(5,5)

b=a(3:5,4:5)%取a的(3-5行,4-5列)

b即為所取

matlab中取乙個矩陣的一部分(比如格式a(m,n),用於提取矩陣a中符合m,n要求的部分):

1、提取某個元素,則m,n為數字標量,如a(2,3)為第二行第三列的元素。

2、提取某行某列

a(:,n)提取第n列的所有元素,如a(:,3)提取第三列的所有元素;

a(m,:)提取第m行的所有元素,如a(3,:)提取第三行的所有元素;

3、提取任意的某部分並重新組成新的矩陣,連續或不連續,單調或不單調

數字指定:a([1 2 3 4],[2 3]) 返回1 2 3 4行2 3 列的資料;

步長指定:a(1:2:end,:) a(2:2:end,:)分別提取矩陣a的奇數行和偶數行資料;

a(end:-1:1,:) a(:,end:-1:1)分別返回a矩陣行倒序和列倒序的矩陣

變數指定:a(b(:,1),:),其中b的第一列含有資料,用來指定取矩陣a的哪些行。

4、變數指定,假設乙個矩陣x1中儲存的是座標,用矩陣x1的座標訪問矩陣labels_left中對應的元素:

for i = 1:size(x1,1)

x = labels_left(x1(i,2),x1(i,1));%匹配對1在左圖中的label數

7樓:摩羯面對現實

matlab中取乙個矩

陣的一部分方法如下:

格式a(m,n),用於提取矩陣a中符合m,n要求的部分

1、提取某個元素,則m,n為數字標量,如a(2,3)為第二行第三列的元素。

2、提取某行某列

a(:,n)提取第n列的所有元素,如a(:,3)提取第三列的所有元素;

a(m,:)提取第m行的所有元素,如a(3,:)提取第三行的所有元素;

3、提取任意的某部分並重新組成新的矩陣,連續或不連續,單調或不單調

數字指定:a([1 2 3 4],[2 3]) 返回1 2 3 4行2 3 列的資料;

步長指定:a(1:2:end,:) a(2:2:end,:)分別提取矩陣a的奇數行和偶數行資料;

a(end:-1:1,:) a(:,end:-1:1)分別返回a矩陣行倒序和列倒序的矩陣

變數指定:a(b(:,1),:),其中b的第一列含有資料,用來指定取矩陣a的哪些行。

4、變數指定,假設乙個矩陣x1中儲存的是座標,用矩陣x1的座標訪問矩陣labels_left中對應的元素:

for i = 1:size(x1,1)

x = labels_left(x1(i,2),x1(i,1));%匹配對1在左圖中的label數

end擴充套件資料:

matlab中取乙個矩陣的一部分的用法:

1、提取大矩陣的一列、一行元素:

一列元素:  a(:,j)表示提取a矩陣的第j列全部元素

一行元素:  a(i,:)表示提取a矩陣的第i行元素,

於是我們有,a(i, j)表示提取a矩陣的第i行第j列的元素。

2、提取多行多列元素

多行元素:  a(i:i+m,:)表示提取a的第i行到第i+m行的元素。

多列元素:  a(:,j:j+n)表示提取a的第j列到第j+n列的元素。

提取塊:     a(i:i+m, j:j+n)表示的是mxn的乙個子塊的元素。

8樓:du瓶邪

比如原矩陣為a=[1 2 3;4 5 6;7 8 9;10 11 12],現在要生成b=[1 2;4 5;7 8],即提取了原來矩陣的1、2兩列和1、2、3三行~

b = a(1:3, 1:2)

即使提取的行列不連續或者次序需要顛倒也可以寫成諸如a([1,3,6], [4,3,1,5])這樣的形式

9樓:奔三不再二

matlab 矩陣

元素與子矩陣的提取

>> %矩陣元素的提取

>> a=[1 2 3;4 5 6;7 8 9;10 11 12]

a =1 2 3

4 5 6

7 8 9

10 11 12

>> a(3,1)%提取 a 矩陣第 3行,第 1列的元素

ans =

7>>>> %通過元素序號提取元素(矩陣元素序號與它的儲存順序是一一對應的! )

>> a(6)

ans =

5>> %matlab中矩陣元素按列儲存,首先是第 1列,其次是第 2列 ......

>>>> %使用函式 find(c)查詢符合條件的矩陣元素的行和列

>> %函式 find(c)的使用格式 [row,col]=find(c),c一般為邏輯表示式; row 返回滿足條件的元 素的行號, col 返回滿足條件的元素的列號。

>> a=[12 34 26 17 21;61 50 89 12 8;25 62 91 23 47]%查詢 a 矩陣中大於等於 20、小於等於 60的元素。

a =12 34 26 17 21

61 50 89 12 8

25 62 91 23 47

>> [r,c]=find(a>=20&a<=60);

>> b=find(a>=20&a<=60);

>> disp('符合條件的矩陣元素的行號和列號:'),[r,c]

符合條件的矩陣元素的行號和列號:

在matlab中subexpr怎麼用的,要具體的

這個函式是針對符號函式進行處理的,用來標記子字串,比如 by lyqmath syms x y h x y 2 r,s subexpr h,s 結果r s 2 s x y 這裡的s就是子符號變數串 x yh就做了簡化處理 matlab裡的 是怎麼用的 例子 1 baipunct function h...

用matlab畫圖時,怎麼在圖形上顯示的數字隨著變數的變化而變化。謝謝

r 1 theta linspace 0,2 pi,200 2 pi xx cos theta yy sin theta numindex randperm 7 plot 2 r xx,2 r yy 外圓hold on plot r xx,r yy,虛線圓plot r xx 3,r yy 3 原點的...

matlab中怎麼實現簡單的計時,並在gui視窗顯示出來

h timer 定時器 handles.he h 將定時器放到全域性變數中 set handles.he,executionmode singleshot 定時器只執行一次,定一次時。set handles.he,executionmode fixedspacing 定時器,迴圈執行,迴圈定時。se...

怎麼在在MATLAB設計的濾波器中靜默匯入音訊檔案

用切比雪夫最佳一致逼近設計線性相位fir帶通濾波器 訊號為0.5hz,0.9hz,1.1hz和1.5hz的正統訊號疊加組成 通帶為 0.9,1.1 頻譜解析度與訊號實際長度n成正比 clear all f1 0.5 f2 0.9 f3 1.1 f4 1.5 t 0 1203 n length t f...

如何提高孩子在學習中的專注力,怎麼提高孩子學習時的專注力?

不管是學習環境還是學習態度,都要從孩子小時候開始培養起來,我會給他最好的學習條件,為此讓他不由自主的養成良好的習慣。如何提高孩子的專注力?星知計畫 事先跟孩子談談心,規劃好所有的學習計畫,讓孩子按照計畫學習,這樣的話就會刻意專注了。從小就培養他的學習能力,著重注意力上開始培育,然後一點點在他成長中形...