Matlab怎樣提取複數陣列的角度

時間 2021-08-11 17:29:59

1樓:遇好慕賓閎

你可以把每乙個複數比如2+i3當作字串用fscanf來讀就行了,因為fscanf讀資料的格式如果直接讀入陣列不好把陣列分隔開,因此你需要乙個資料乙個資料的來讀。假設你的資料檔案在d:\test.

txt中,則**如下

a=zeros(100,1);%100是說明作為例子來說明,因為要把資料讀到a中,因此只需取乙個足夠大的數可以使a容納test.txt中的資料即可

a=sym(a);

file=fopen('d:\test.txt','rt');

data=fscanf(file,'%s',1);

i=1;

while1if

strcmp(data,'')==1

break;

else

a(i)=data;

i=i+1;

data=fscanf(file,'%s',1);

endend

disp(a);

2樓:匿名使用者

「數學上直接對b取對數再除以j」也得不到a,得到的是2n*pi+a。

matlab裡求輻角的函式是angle,得到的是輻角主值(-pi,pi],單位是弧度

這個函式本身就支援矩陣運算的

***************==

當然明白你的意思,但你明白我的意思了嗎?從數學上講,b=exp(j*a)就不是乙個單調函式,是不能從b反推出唯一的a值的。matlab只是乙個數學軟體,不要試圖用它解決理論上無解的問題!!

3樓:鉞小夏侯

複數表達,及計算

(1)z1= 3 + 4i

z1 =

3.0000 + 4.0000i

(2)z2 = 1 + 2 * i

z3=2*exp(i*pi/6)

z=z1*z2/z3

z2 =

1.0000 + 2.0000i

z3 =

1.7321 + 1.0000i

z =0.3349 + 5.5801i

複數矩陣的生成及運算

a=[1,3;2,4]-[5,8;6,9]*ib=[1+5i,2+6i;3+8*i,4+9*i]c=a*b

a =1.0000 - 5.0000i 3.0000 - 8.0000i

2.0000 - 6.0000i 4.0000 - 9.0000ib =1.0000 + 5.0000i 2.0000 + 6.0000i

3.0000 + 8.0000i 4.0000 + 9.0000ic =1.0e+002 *

0.9900 1.1600 - 0.0900i1.1600 + 0.0900i 1.3700求上例複數矩陣c的實部、虛部、模和相角。

c_real=real(c)

c_imag=imag(c)

c_magnitude=abs(c)

c_phase=angle(c)*180/pi %以度為單位計算相角

c_real =

99 116

116 137

c_imag =

0 -9

9 0

c_magnitude =

99.0000 116.3486116.3486 137.0000c_phase =

0 -4.43654.4365 0

matlab中的複數和角度

4樓:化學工程

45度時,實軸為1,虛bai軸為i,則

>> angle(1+i)*180/pi

ans = 45

可以du看出,angle計算出來的zhi是弧度,乘以180/pi化為角

dao度。

>> angle(i)*180/pi

ans = 90

直角內時,實軸為0

>> abs(1+i)

ans = 1.4142

1.4142即根號容2,模

如何在matlab裡 將複數以 幅度*角度(polar form) 的形式輸出 不要a+bj的形式

5樓:匿名使用者

求複數的模值和相角分別用函式abs和angle,至於輸出的形式取決於你的需要,比如按照你上面的內寫法:

z=1+1i

sprintf('%g*%g', abs(z), angle(z)*180/pi)

當然,這容只是對標量作乙個簡單的舉例,對於矩陣和向量的輸出需要編寫一些**才行。

matlab如何求複數的相位角

6樓:匿名使用者

atan angle phase 三個都一樣啊,沒

啥區別,而且返回值

版都是弧度權

atan inverse tangent, result in radians.

atan(x) is the arctangent of the elements of x.

angle(h) returns the phase angles, in radians, of a matrix with

complex elements.

phase computes the phase of a complex vector

>> [phase(2+i),atan(1/2),angle(2+i)]

ans =

0.4636 0.4636 0.4636

matlab中如何將乙個複數表示式的實部與虛部分別提取出來啊? 5

7樓:匿名使用者

>> syms r x >> y=r*(cos(x)+i*sin(x))*(1-r*(cos(x)-i*sin(x))) y =r*(cos(x)+i*sin(x))*(1-r*(cos(x)-i*sin(x))),afoqiq

8樓:56頁

y=(1/(j*w*1.8e-12)+0.85)*(1/(j*w*80.

5e-15)+0.65+j*w*87.6e-9)/(1/(j*w*1.

8e-12)+0.85+1/(j*w*80.5e-15)+0.

65+j*w*87.6e-9);

b=image(y);

這樣就可以了

9樓:

matlab函式中,用於取複數的實部與虛部的函式是:

real(variable) 實部 ; imag(variable) 虛部

舉例來說:

a = 4 + 4i;

b = 2 - 5i;

complex (real(a),imag(b));

這個函式中real(a)會把a的實部提取,imag(b)會把b的虛部提取,complex函式是將所提取的實部虛部組成乙個新的複數,所以你得到的結果應該是

ans =

4.0000 - 5.0000i

什麼叫複數,數學中的複數是什麼?

劉鬆 我們知道,在實數範圍內,解方程是無能為力的,只有把實數集擴充到複數集才能解決。對於複數a bi a b都是實數 來說,當b 0時,就是實數 當b 0時叫虛數,當a 0,b 0時,叫做純虛數。可是,歷史上引進虛數,把實數集擴充到複數集可不是件容易的事,那麼,歷史上是如何引進虛數的呢?16世紀義大...

matlab一維陣列怎麼建立及怎樣對每個元素進行賦值

四舍 入 例如 b 1 2 3 4 5 a k 1 b k b有5個元素,a有6個元素,先對a進行初始化,然後為a中的元素賦值 a zeros 1,length b 1 a比b多一個元素,為1行,length b 1列的全0向量 for i 1 length b a i 1 b i a k 1 b ...

在matlab中,怎樣提取矩陣的一行元素或者提取一列元素

假設你有乙個矩陣m,那麼提取第i行就是m i,提取第i列就是m i matlab是美國mathworks公司出品的商業數學軟體,用於演算法開發 資料視覺化 資料分析以及數值計算的高階技術計算語言和互動式環境,主要包括matlab和simulink兩大部分。matlab是matrix laborato...