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 你首先定義兩個變...