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...