matlab高手進!方程複數解!急

時間 2022-06-04 15:05:03

1樓:匿名使用者

u=2.65e+10;

c1b=5.057e+10;

cv=2596.15;

cs=3128.89;

us01=10;

us12=20;

h=0.000000001;

x=5;

f=@(x,y) abs(tan(x*sqrt((y/cv)^2-1))-(c1b*sqrt((y/cv)^2-1)*(u*sqrt(1-(y/cs)^2)+(x/h)*us12-(x/h)*us01))/((u*(x/h)*sqrt(1-(y/cs)^2)+((x/h)^2)*us12)*us01+c1b^2*((y/cv)^2-1)));

[s v]=fminbnd(@(cp) f(x,cp),0,2596)

s =389.4398

v =1.1450e-009

原來函式如果是返回複數

那麼正真為0的結果是實部為0,虛部也為0

更簡單的是結果的模為0,也就是abs(f)=0那麼在區間中找到這個模的絕度值最小的位置,就是方程的解這裡的結果是

cp取值 389.4398

這時候f的模的值是1.1450e-009,很接近0,在誤差範圍內,這個可能是函式的解

2樓:愛sama的佳

虛數解用單純的fsolve來解是不行的,誤差過大,導致不穩定性太強,建議用二分法來迭代,這樣無論是實數解還是虛數解都可以求出來

matlab程式設計解複數方程

3樓:匿名使用者

>> syms x y

>> s=solve('x+y=20+15*i','x*y=10+2*i')

s =x: [2x1 sym]

y: [2x1 sym]

>> s.x,s.y

ans =

(592*i + 135)^(1/2)/2 + 10 + (15*i)/2

10 - (592*i + 135)^(1/2)/2 + (15*i)/2

ans =

10 - (592*i + 135)^(1/2)/2 + (15*i)/2

(592*i + 135)^(1/2)/2 + 10 + (15*i)/2

matlab中求解含複數方程的程式怎麼寫

4樓:匿名使用者

複數也是一樣的

先把格式轉化下

format rat

再用solve函式,可以實現的

5樓:慚滯嗣

虛數解用單純的fsolve來解是不行的,誤差過大,導致不穩定性太強,建議用二分法來迭代,這樣無論是實數解還是虛數解都可以求出來

matlab解矩陣方程出現複數解怎麼處理?

6樓:化學工程

w6=664.9+492.9*(1-x);

w7=746.1+492.9*(1-x);

w0=1050.3+492.9*(1-x);

這三個x是x的第幾個啊?x=x(1)?x=x(2)?...x(8)?

另外,這是一個差分方程吧?改成矩陣形式更節約計算量。

clc;clear

syms x

q=[2315.6 2538.5 2454.1 2507.1 2643.2 2364.2 2176.4];

t=[74.6 150.0 152.2 95.8 58.1 262.5 46.5];

r=[0 314.8 87.2 0 107.8 270.0 0];

q0=3467.3-999.7;

w=[121.2 332.4 562.

8 703 835.1 664.9+492.

9*(1-x) 746.1+492.9*(1-x) 1050.

3+492.9*(1-x)]';

b=[q(1),0,0,0,0,0,0,0

t(1),q(2),0,0,0,0,0,0

t(1),r(2),q(3),0,0,0,0,0

t(1),r(2),r(3),q(4),0,0,0,0

t(1),t(2),t(3),t(4),q(5),0,0,0

t(1),t(2),t(3),t(4),r(5),q(6),0,0

t(1),t(2),t(3),t(4),r(5),r(6),q(7),0

t(1),t(2),t(3),t(4),t(5),t(6),t(7),q0]

x=b\w

xx=x(8,1)

x=solve(xx-'x')

結果:x =

303/5789

19016598/146953765

761453564286/3606392346865

23079006483390064/90415862528252415

682816759124986612691/2389872078346767833280

1787446664834280741154441/4035811119733877508171840-4929/23642*conj(x)

20354893342091707908945918751/43917696604944055043925962880-51611559/257272244*conj(x)

191610536285339098065135873835367/361237693807866500754639020008960-35590238661/204788706224*conj(x)

xx =

191610536285339098065135873835367/361237693807866500754639020008960-35590238661/204788706224*conj(x)

x =.45189330084894868203093008862120

matlab求解複數方程

7樓:

為什麼要解方程呢。。。直接寫出解析解當函式就可以了啊。。

matlab 怎麼求解複數方程組

8樓:溫水煮冰蛙

首先,複數方程組包含於線性方程組這一概念;其解法等同於解線性方程組;

其次,這個得區分 符號運算和數值運算:

(1)求符號解

其中求微分方程的符號解:

使用 dsolve函式

(2)求數值解

使用矩陣除法就可以

急!!高分跪求matlab高手!!解多元線性迴歸模型

y1 46.78 43.42 37.64 y2 36.05 37.43 31.63 y3 10.73 5.99 6.01 x1 6.08 4.77 0.12 x2 71.32 61.85 71.14 x3 25.88 23.39 19.46 x4 0.85 11.18 12.02 x5 19.69 ...

matlab解一元超越方程,MATLAB求解一元超越方程,,求程式碼(混凝土破壞準則的內容)

缺少運算子 以及引數輸入格式有點問題 solve x 1 12 2.24 10 7 exp 5600 15 11 x 1 1 x ans 19.906557209304298701452077340886 10.326236962569359920664632589731 i solve x 1 1...

MATLAB解具有符號變數巢狀的方程

我行我素 有符號變數時,要用數學符號運算工具箱,先用syms 定義變數,再用solve解方程。如 syms x x solve x 2 5 x 2 0 結果是 x 5 2 17 1 2 2 17 1 2 2 5 2 純淨透明 試試simplify,表示式簡化用法r simplify s matlab...