matlab的計算結果為什麼是個複數呢

2021-05-04 11:14:50 字數 1369 閱讀 3324

1樓:匿名使用者

結果是複數的原因:

(-1.2905e+7)^0.7143

= (-1.2905e+7)^(7143/10000)

= [ (-1.2905e+7)^(1/2) ]^(7143/5000)

其中,(-1.2905e+7)^(1/2) 是負數的平方根,因此結果為複數

為了避免複數,我們可以把負號提出來:

- (1.2905e+7)^0.7143

ans= -1.2001e+5

因為結果不是負數的話, (-1.2905e+7)^0.7143 就等於 -(1.2905e+7)^0.7143,

以此來得到想要的結果

2樓:科技數碼答疑

負數的開方難道不是複數嗎,屬於高中和大學數學

3樓:1斜暉脈脈

難道不應該是一個複數嗎?畢竟是小於1的冪

4樓:今天

可以具體點麼,如果涉及了傅立葉變換可能是不對稱引起的,把具體程式發一下吧

5樓:**神探

複數輸入或者存在對負數開根號的情況了

6樓:

法1:用複數結構

x=complex(1,2)

則x=1 +2i

法2:用函式控制代碼

如f=@(x,y) x+y*j

則f(1,2)=1 +2i

法3:用符號表示式

syms x y

f=x+y*j

eval(f)

為什麼matlab 中用反三角函式算出來的結果是虛數形式呢

7樓:匿名使用者

如果反正弦函式的自變數的絕對值大於1,那麼,在實數範圍內是沒有意義的,在複數範圍內是有值的。在複數領域,很多函式具有多值性(特別是指數、對數、冪函式等),三角函式可以寫成指數函式的形式,當然也是多值函式的一種。如果只求實數解,可以查查幫助檔案。

matlab 中 複數的問題,x=sqrt(2)*exp(i*(3*pi/4)) 其結果為x=-1+1i,為什麼不是x=1+-i 呢

8樓:匿名使用者

因為根據定義,exp(i*x) = cos(x) + i*sin(x).

x=sqrt(2)*exp(i*(3*pi/4))=sqrt(2)* (cos(3*pi/4)+ i * sin(3*pi/4))

=sqrt(2) * ( -sqrt(2)/2 + i * sqrt(2)/2)

= -1 * 1i

(matlab中 1i 和 i 是一樣的,內但1i可以避免被重新定義容。)

matlab計算結果顯示a 1,但判斷語句a 1,返回值是0,為什麼會這樣,又沒辦法令a 1的返回值是

問題在於程式會計算1 2 3,雖然精度很高,但和我們用分數進行的計算並不一樣,min時出現的1其實是四捨五入而來的,而2 3 2 3則不存在四捨五入,所以他的結果就是1,要讓min情況下返回1,可以將2 3進行符號計算,這樣就不存在四捨五入了,比如 a min eval 1 3 1 sym 2 3 ...

怎麼用計算器計算結果是

設一個數為baix,x可以是你輸入du的任意zhi一個數,x 52.8 5 3.9343 0.5 10x 520.1314 x為任意數dao。例子 若x 8,8 52.8 60.8 60.8 5 3.9343 300.0657300.0657 0.5 80 520.1314。望採內納!再介紹一些數字...

結果能約分盡約成最簡分數,為什麼計算結果能約分的,要約成最簡分數?

1 8 8 2 10 16 4 1 8 5 8 4 6 8 4 3 4 4又4分之3 3 4 3 12 4 8 3 4 1 4 1 2 1 2 1 2 1 四分之十九,七分之八。望採納。為什麼計算結果能約分的,要約成最簡分數?因為數學是一門很嚴謹的學科。如果不化成最簡分數就會有 例 1 2 2 4 ...