MATLAB中x1,23,4y12xy是什麼意思

2021-03-04 04:56:54 字數 3670 閱讀 2815

1樓:匿名使用者

x \ y是矩陣除法復,左除制,用bai於求解矩陣du方程 ax=b,則 x=a\b,等

zhi同dao於 x=inv(a)*b如:>>x=[1,2;3,4]; y=[1;2];

>>x \ y

ans00.5

>> inv(x)*y

ans =

00.5

2樓:紀仲賈真如

在這裡baix

是一個三維陣列,或du者說是三維矩陣,y=x(:,:,1)是指

zhix中的第一頁dao中的二維陣列,y=x(2,-3,1)中的「回-3」有誤,不能答為負數,只能為正數,若是y=x(2,3,1)表示x中第1頁第2行第3列那個數

matlab中x=a(:,1);y=a(:,2);z=a(:,3)是什麼意思?其中a為矩陣。

3樓:我的電視

x是矩陣a中第一列所有的元素排成的列向量。

:表示所有的

以此類推y是矩陣a中第二列所有的元素排成的列向量。

在matlab中x1=x(:,1);x2=x(:,2);是什麼意思

4樓:匿名使用者

這行**的意思是,從x這個矩陣中取出第一列

賦給x1,再從x矩陣中取出第二列賦給x2。執行後x1和x2是兩個列向量,分別是x這個矩陣第一列和第二列。

因為x1=x(:,1)和x2=x(:,2)的語法結構相同,因此僅以x1=x(:,1)為例,x2=x(:,2)以此類推。

1、等號左邊的x1=在matlab裡面代表賦值。賦值就是把等號右邊的值賦值給左邊的變數。所以x1將會得到等號右邊的數值。

2、等號右邊是x(:,1),其中x應在之前就已經定義過,否則單獨一句的**無法執行。由題可得x是一個矩陣。為方便講解x自定義了一個4行4列的矩陣,以它為例子。

3.、x後面的小括號是一種陣列的索引方法。陣列的索引就是取出陣列中的某一部分的操作。

假如要索引一個二維陣列,括號裡就要有兩個引數(行號和列號)。引數之間用逗號分隔。比如x(3,4)表示取出矩陣x第三行第四列的那個數。

在例子中是12。

4、 如果要索引陣列的一片區域,可在行或列引數裡用開始的行號:結束的行號這種格式表示要取連續的行或列。如x(1:

3,3:4) 就表示取出第1行到第3行並且還是第3列到第四列相交的一片區域,這樣取出的是一個小矩陣。

5、x(:,4)表示只要取出一列,就不用限定行,因此在行的引數一欄開始和結束行號都不寫,只留下一個冒號,來表示所有行都要保留,表示取出第四列。得到的是一個列向量。

6、 x1=x(:,1);x2=x(:,2); 連起來效果就是可以得到兩個列向量。

加了分號的命令可以寫在一行而且沒有任何輸出。你可以只輸入x1回車檢視x1的值,也可以到工作空間視窗雙擊檢視變數。最終執行結果如下:

擴充套件資料:

matlab常用函式

fix(x):無論正負,捨去小數至相鄰整數。

floor(x):下取整,即捨去正小數至相鄰整數。

ceil(x):上取整,即加入正小數至相鄰整數。

rat(x):將實數x化為多項分數。

rats(x):將實數x化為分數表示。

sign(x):符號函式(signum function)。

當x<0時,sign(x)=-1,

當x=0時,sign(x)=0,

當x>0時,sign(x)=1。

rem(x,y):求x除以y的餘數。

***(x,y):整數x和y的最大公因數。

lcm(x,y):整數x和y的最小公倍數。

exp(x) :自然指數。

pow2(x):2的指數。

log(x):以e為底的對數,即自然對數。

log2(x):以2為底的對數。

log10(x):以10為底的對數。

5樓:wayde神獸金剛

根據語境,這行**的意思是,從x這個矩陣中取出第一列賦給x1,再從x矩陣中取出第二列賦給x2。執行後x1和x2是兩個列向量,分別是x這個矩陣第一列和第二列。

解析:這是兩條語句寫在了一行上。以逗號分隔。第一句x1=x(:,1)和第二句x2=x(:,2)的語法結構是一樣的。這裡只以第一句為例。

1. 首先是開頭的x1=,這裡的=號在matlab裡面代表賦值。賦值就是把等號右邊的值複製給左邊的變數。因此x1將會得到等號右邊的東西。

2. 等號右邊是x(:,1)。

這個x在之前就已經定義過,否則單獨一句的**無法執行。按照這裡的語境,x是一個二維陣列,即矩陣。為方便講解x我自定義了一個4行4列的矩陣,以它為例子。

3. x後面的小括號是一種陣列的索引方法。陣列的索引就是取出陣列中的某一部分的操作。

假如要索引一個二維陣列,括號裡就要有兩個引數(行號和列號)。引數之間用逗號分隔。比如x(3,4)表示取出矩陣x第三行第四列的那個數。

在例子中是12。

4. 如果要索引陣列的一片區域,可在行或列引數裡用開始的行號:結束的行號這種格式表示要取連續的行或列。

如x(1:3,3:4) 就表示取出第1行到第3行並且還是第3列到第四列相交的一片區域,這樣取出的是一個小矩陣。

5.重點:如果只要取出一列,就不用限定行。

因此在行的引數一欄開始和結束行號都不寫,只留下一個冒號,來表示所有行都要保留。於是就有了這種寫法x(:,4)。

表示取出第四列。得到的是一個列向量。類似的,x(4,:

)則表示第四行。

6. x1=x(:,1);x2=x(:

,2); 連起來效果就是可以得到兩個列向量。加了分號的命令可以寫在一行而且沒有任何輸出。你可以只輸入x1回車檢視x1的值,也可以到工作空間視窗雙擊檢視變數。

最終執行結果如下:

mathworks是開發matlab的公司,mathworks中國上的matlab文件具有權威性。遇到不會的問題可以查閱官方文件。

6樓:導超

首先,x是一個矩陣,可以是方陣,也可以不是;

y=x(:,i)的作用就就是把矩陣x的第i列取出來賦值到y裡面,那麼得到的y就是一個列向量。

給你舉個例子;

a =2 3 4 53 4 5 6

4 5 6 7

5 6 7 8

>> x1=a(:,1)

x1 =23

45>> x2=a(:,2)

x2 =3456

matlab畫圖y='x^3+2*x^2-5*x+1',fplot(y, [-4,2]),為什麼函式表示式要加引號??求解

7樓:

這個引號,表示這個式子是個代數式,也就是x是一個變數,也就是一個符號。一般情況下,matlab做運算時,變數在運算前要賦值的。所以要做一個區分。

8樓:足球先生

fplot函式是畫符號變數的函式。

如果你沒加引號,則畫向量,屬於離散點的,當然不行。

同樣,推薦使用ezplot,可以不用引號的,syms x

y=x^3+2*x^2-5*x+1;

ezplot(y)

求直線x12y2,求直線x12y21z32與直線x22y11z31的夾角

第一條直du線方向向量zhi為 a向量 2,1,2 第二條直線方向向dao x 1 2 y 2 1 z 3 2 的方向 bai向量du為zhi 2,1,2 x 2 2 y 1 1 z 3 1的方向向量為 2,1,1 cos dao 2,1,2 2,1,1 2,1,2 2,1,1 3 3 6 6 6 ...

用matlab繪製方程fy1x2y2,在x2,

用baiplot3 函 數可以繪出其空du間曲線。x 2 0.1 2 y 1 0.05 1 z y.1 x.zhi2 y.2 plot3 x,y,z,ro grid on xlabel x ylabel y zlabel z title 用daoplot3繪製z y 1 x 2 y 2 的影象 用m...

解方程組 x 1 y 2 3 x 1 2 y 1 1速

兩個來方程都自 是兩邊乘 bai6,然後移 du項整 zhi理 3x 3 2y 4 9 3x 2y 8 1 2x 2 3y 3 6 2x 3y 1 2 1 dao3 2 2 9x 6y 4x 6y 24 2 13x 26 x 2y 2x 1 3 1 解方程組2 x 1 3 y 2 4,1 2 x 1...