matlab的問題生成兩個四維向量

2021-03-04 04:53:33 字數 2753 閱讀 6300

1樓:燭龍一現

>> a=[1 0 -2 3];

>> b=[0 1 2 1];

>> sum=a+b

sum =

1 1 0 4

>> dotmultiply=dot(a,b)dotmultiply =

-1叉積要算的話,需要三維向量,用cross命令。

參考:help dot

help cross

matlab 中點積、叉積及混合積的實現連線:http://mathlisun.

blog.163.***/blog/static/194002144201111710311276/

matlab程式設計 用乘冪法近似計算矩陣a的主特徵值和特徵向量,其中a=[2 -1 0;-1 2 0

2樓:匿名使用者

雅克賓方法

clc;

clear all;

%矩陣a

a=[2 ,-1,0;-1,2,-1;0,-1,2]%取矩陣a的維數

n=max(size(a));

%迭代誤差

eps=1e-5;

r=1;

%最大迭代次數為100

m=100;

k=1;

%小於迭代次數或迭代誤差進入計算

while r>=eps & k<=m

p=1;

q=1;

amax=0;

for i=1:n

for j=1:n

if i~=j & abs(a(i,j))>amaxamax=abs(a(i,j));

p=i;

q=j;

endend

endr=amax;%計算當前迭代誤差

%以下為構造正交矩陣u

l=-a(p,q);

u=(a(p,p)-a(q,q))/2;

if u==0

w=1;

else

w=sign(u)*l/sqrt(l*l+u*u);

ends=-w/sqrt(2*(1+sqrt(1-w*w)));

c=sqrt(1-s*s);

u=eye(n);

u(p,p)=c;

u(q,q)=c;

u(p,q)=-s;

u(q,p)=s;

%旋轉計算

a=u'*a*u%顯示每步計算a的計算結果k=k+1;

endif k>m

disp('a矩陣不收斂');

else

for i=1:n

d(i)=a(i,i);

enddisp('a特徵值為:');

dend

qr方法以a=[1 -1 2;-2 0 5;6 -3 6]為例不改了,自己改

構造矩陣

>>a=[1 -1 2;-2 0 5;6 -3 6]a =1 -1 2

-2 0 5

6 -3 6

將矩陣a變換為相似的擬上三角矩陣(即為上hessenberg矩陣)>>h=hess(a)

h =1.0000 2.2136 -0.

31626.3246 4.8000 -1.

40000 6.6000 1.2000對h矩陣作qr分解:

>>[q,r]=qr(h)

q =-0.1562 0.2101 -0.

9651-0.9877 -0.0332 0.

15260 0.9771 0.2127r =-6.

4031 -5.0868 1.43220 6.

7546 1.15260 0 0.3468作50次迭代計算(具體迭代次數可依具體實驗矩陣進行)>>for i=1:

50b=r*q;

[q,r]=qr(b);

end>>r*q

ans =

5.0000 7.4864 0.

5929-0.0000 3.0000 4.

96000 0.0000 -1.0000由以上結果可得到迭代計算的特徵值為,可見基本qr法的迭代精度還是很高的.

matlab如何把行向量生成1和0矩陣?

3樓:q他

1)等概率地生成一bai個dum*n的矩陣

,且矩陣元素只有0和1。zhimatlab的表示為:randsrc(m,n,[0,1]);其中,m是行dao數,n是列

版數。2)以概率p生成1,(權1-p)生成0, matlab表示為:randsrc(m,n,[0,1;p,(1-p)]);

注意:1)中是2)的特例,即當p=0.5時候。

3)以概率[p1,p2,…,pk]生成元素為[x1,x2,…,xk]中的數值的m*n維的矩陣,則matlab表示為:randsrc(m,n,[x1,x2,…,xk;p1,p2,…,pk]);元素x1,x2,…,xk和概率p1,p2,…,pk之間的符號位分號,即;。注意:

p1+p2+…+pk=1.(否則會出錯)

等概率地生成乙個m*n的矩陣的matlab表示方法還有如下幾種:

a-1)round(rand(m,n)); 其中,rand(m,n)生成均勻分布的偽隨機數。分布在(0~1)之間;round(x)表示對x取四捨五入。

a-2) randi(2,m,n)-1; 其中randi(imax,m,n)在開區間(0,imax]生成mxn型隨機矩陣.

MATLAB中有兩個變數的函式怎麼儲存資料

t 0.5 0.1 2 y linspace 1,10,length t t 1.t y.3 plot t python同乙個類內兩個函式變數怎麼呼叫 classa self.b1 0 def b self self.b1 123 def c self c1 self.b1 5 print c1 如...

關於娶兩個老婆的問題,關於娶兩個老婆的問題

臉皮比豬皮還厚啊,還想娶2個老婆,是不是舊社會的電視看多了,想姨太太想瘋了啊?跟你說,你在中國想都不要想,這是道德問題!這種情況是不合法的,如果在中國被查出來你就是犯了重婚罪了,小心為好 真是麻煩,不如跑到回教國家移民,可以娶四個老婆。或者去西方開放國家,大街上老婆多的是,天天可以換新人啦,不過需要...

java中如何實現兩個隨機生成的數相加

public class test 如下 public class plu ethod random r new random int x r.nextint 100 可以設定整數的範圍int y r.nextint 100 x y 計算和 public class testall 你首先定義兩個變...