matlab中solve方程組中常量被認為變數如何辦

2022-03-11 18:15:44 字數 7452 閱讀 9579

1樓:施西貝虎

既然是常數,就不要用syms定義它。給他們具體值呀,如果沒有,就把以上**包在函式內,這兩個常量做函式的引數就行了。

2樓:

1. warning: explicit solution could not be found.

顯式解找不到,不是無解。你的方程也沒問題,不存在」常量認為是變數「的問題。

原因是方程太複雜,matlab無法得到解析解。

2. 用下面的例子可以證明你在方法上沒有問題:

syms x y z

tmp = y+z;

s = solve(x==2*tmp, y)可以得到解 s = x/2 - z

3. 建議改用數值方法求解。

3樓:荔菲綠海

syms b_s c1 d_hh d_vv 問題出在這句,你把這兩個都指定為變數了,改為sym b_s。這個sym就是指定哪些是變數用的。其餘的你要指定常數值是什麼。

s=solve(d_vvhh==sqrt(d_hh*d_vv),b_s); 這句裡,最後的變數和方程,都是要加單引號的(英文輸入狀態下)

matlab中用solve求解方程組問題

4樓:匿名使用者

1. 我執行了一下, 結果與你的一樣

warning: explicit solution could not be found.

沒有顯式解!

2. 這個正常

>> [x,y]=solve('2*x+y=1','x-y=2','x','y')

x =1

y =-1

5樓:匿名使用者

這個不是你軟體的問題,solve函式只能求函式的解析解,但你的方程組由於比較複雜,沒有解析解,所以是求不出來的!

使用matlab中的solve函式求解符號方程組的問題

6樓:匿名使用者

不知你的什麼版本,我是2011a就告訴我no explicit solution即無解析解。沒有出現你這種情況。

這個方程組就是求兩圓交點,頂多有兩組解,你仔細看解出來的x第一個和x第二個是一模一樣的。後兩個也是一樣的。我以前用低版本的matlab(7.

0.1),似乎得到過你這樣的解,但是現在用新版本的做就沒有這樣的問題。

no explicit solution的話,需要求數值解了(matlab說沒解析解,不等於你就算不出來了,它經常會告訴你沒解析解的,不要吃驚)。其實你這裡手算很好算的,何必讓電腦去幫你做。matlab符號解方程的能力非常有限,只能夠解很簡單的有解析解的方程,它的優勢在於數值運算,就是你給出除了x,y以外其他變數的數值然後讓它解。

7樓:書宬

>> syms x y xp yp xi yi min

f1=(x-xp)^2+(y-yp)^2-min^2;

f2=(x-xi)^2+(y-yi)^2-3*min^2;

d=solve(f1,f2,x,y)

d =x: [2x1 sym]

y: [2x1 sym]

>> d.x

ans =

1/2*(-(2*min^2*yp-yp^2*yi+xi^2*yi-2*xi*xp*yp-2*xi*xp*yi+yp^3+xp^2*yi-yp*yi^2+xp^2*yp-2*min^2*yi+yp*xi^2+yi^3+(48*xi^2*xp^2*min^2+4*xp^4*yi*yp+4*xp^2*yi^3*yp+2*xi*xp*yi^4+8*xi*xp^3*yi^2+8*xi*xp^3*yp^2+2*xi*xp*yp^4-12*xi^2*xp^2*yp^2+4*xi^4*yi*yp+8*xi^2*yi^2*min^2+4*xi^2*yi^3*yp-12*xi^2*yi^2*xp^2+8*xi^3*yi^2*xp+4*yp^3*yi*xi^2+4*yp^3*yi*xp^2-6*yp^2*yi^2*xp^2-6*yp^2*yi^2*xi^2+8*min^2*yp^2*xi^2+8*min^2*yp^2*xp^2+8*xi*xp*min^4-32*xi^3*xp*min^2-32*xi*xp^3*min^2+8*xp^2*yi^2*min^2+12*yp^2*yi^2*xi*xp-8*yp^3*yi*xi*xp-16*min^2*yp*xp^2*yi-16*min^2*yp^2*xi*xp-16*min^2*yp*xi^2*yi-16*xi*xp^3*yp*yi-yp^4*xi^2-2*xp^4*yi^2-xp^2*yi^4+24*xi^2*yi*xp^2*yp-16*xi^3*yi*xp*yp-xp^6-xi^6-2*xi^4*yi^2-xi^2*yi^4-8*xi*xp*yp*yi^3-yp^4*xp^2-16*xi*xp*yi^2*min^2+8*xi^3*xp*yp^2+32*min^2*yp*xi*xp*yi+6*xi^5*xp-4*xi^2*min^4+8*xi^4*min^2-4*xp^2*min^4+8*xp^4*min^2+6*xi*xp^5+20*xi^3*xp^3-15*xi^2*xp^4-15*xi^4*xp^2-2*xp^4*yp^2-2*yp^2*xi^4)^(1/2))/(-2*xi*xp-2*yp*yi+yp^2+yi^2+xp^2+xi^2)*yp+(2*min^2*yp-yp^2*yi+xi^2*yi-2*xi*xp*yp-2*xi*xp*yi+yp^3+xp^2*yi-yp*yi^2+xp^2*yp-2*min^2*yi+yp*xi^2+yi^3+(48*xi^2*xp^2*min^2+4*xp^4*yi*yp+4*xp^2*yi^3*yp+2*xi*xp*yi^4+8*xi*xp^3*yi^2+8*xi*xp^3*yp^2+2*xi*xp*yp^4-12*xi^2*xp^2*yp^2+4*xi^4*yi*yp+8*xi^2*yi^2*min^2+4*xi^2*yi^3*yp-12*xi^2*yi^2*xp^2+8*xi^3*yi^2*xp+4*yp^3*yi*xi^2+4*yp^3*yi*xp^2-6*yp^2*yi^2*xp^2-6*yp^2*yi^2*xi^2+8*min^2*yp^2*xi^2+8*min^2*yp^2*xp^2+8*xi*xp*min^4-32*xi^3*xp*min^2-32*xi*xp^3*min^2+8*xp^2*yi^2*min^2+12*yp^2*yi^2*xi*xp-8*yp^3*yi*xi*xp-16*min^2*yp*xp^2*yi-16*min^2*yp^2*xi*xp-16*min^2*yp*xi^2*yi-16*xi*xp^3*yp*yi-yp^4*xi^2-2*xp^4*yi^2-xp^2*yi^4+24*xi^2*yi*xp^2*yp-16*xi^3*yi*xp*yp-xp^6-xi^6-2*xi^4*yi^2-xi^2*yi^4-8*xi*xp*yp*yi^3-yp^4*xp^2-16*xi*xp*yi^2*min^2+8*xi^3*xp*yp^2+32*min^2*yp*xi*xp*yi+6*xi^5*xp-4*xi^2*min^4+8*xi^4*min^2-4*xp^2*min^4+8*xp^4*min^2+6*xi*xp^5+20*xi^3*xp^3-15*xi^2*xp^4-15*xi^4*xp^2-2*xp^4*yp^2-2*yp^2*xi^4)^(1/2))/(-2*xi*xp-2*yp*yi+yp^2+yi^2+xp^2+xi^2)*yi+xp^2+yp^2+2*min^2-xi^2-yi^2)/(xp-xi)

1/2*(-(2*min^2*yp-yp^2*yi+xi^2*yi-2*xi*xp*yp-2*xi*xp*yi+yp^3+xp^2*yi-yp*yi^2+xp^2*yp-2*min^2*yi+yp*xi^2+yi^3-(48*xi^2*xp^2*min^2+4*xp^4*yi*yp+4*xp^2*yi^3*yp+2*xi*xp*yi^4+8*xi*xp^3*yi^2+8*xi*xp^3*yp^2+2*xi*xp*yp^4-12*xi^2*xp^2*yp^2+4*xi^4*yi*yp+8*xi^2*yi^2*min^2+4*xi^2*yi^3*yp-12*xi^2*yi^2*xp^2+8*xi^3*yi^2*xp+4*yp^3*yi*xi^2+4*yp^3*yi*xp^2-6*yp^2*yi^2*xp^2-6*yp^2*yi^2*xi^2+8*min^2*yp^2*xi^2+8*min^2*yp^2*xp^2+8*xi*xp*min^4-32*xi^3*xp*min^2-32*xi*xp^3*min^2+8*xp^2*yi^2*min^2+12*yp^2*yi^2*xi*xp-8*yp^3*yi*xi*xp-16*min^2*yp*xp^2*yi-16*min^2*yp^2*xi*xp-16*min^2*yp*xi^2*yi-16*xi*xp^3*yp*yi-yp^4*xi^2-2*xp^4*yi^2-xp^2*yi^4+24*xi^2*yi*xp^2*yp-16*xi^3*yi*xp*yp-xp^6-xi^6-2*xi^4*yi^2-xi^2*yi^4-8*xi*xp*yp*yi^3-yp^4*xp^2-16*xi*xp*yi^2*min^2+8*xi^3*xp*yp^2+32*min^2*yp*xi*xp*yi+6*xi^5*xp-4*xi^2*min^4+8*xi^4*min^2-4*xp^2*min^4+8*xp^4*min^2+6*xi*xp^5+20*xi^3*xp^3-15*xi^2*xp^4-15*xi^4*xp^2-2*xp^4*yp^2-2*yp^2*xi^4)^(1/2))/(-2*xi*xp-2*yp*yi+yp^2+yi^2+xp^2+xi^2)*yp+(2*min^2*yp-yp^2*yi+xi^2*yi-2*xi*xp*yp-2*xi*xp*yi+yp^3+xp^2*yi-yp*yi^2+xp^2*yp-2*min^2*yi+yp*xi^2+yi^3-(48*xi^2*xp^2*min^2+4*xp^4*yi*yp+4*xp^2*yi^3*yp+2*xi*xp*yi^4+8*xi*xp^3*yi^2+8*xi*xp^3*yp^2+2*xi*xp*yp^4-12*xi^2*xp^2*yp^2+4*xi^4*yi*yp+8*xi^2*yi^2*min^2+4*xi^2*yi^3*yp-12*xi^2*yi^2*xp^2+8*xi^3*yi^2*xp+4*yp^3*yi*xi^2+4*yp^3*yi*xp^2-6*yp^2*yi^2*xp^2-6*yp^2*yi^2*xi^2+8*min^2*yp^2*xi^2+8*min^2*yp^2*xp^2+8*xi*xp*min^4-32*xi^3*xp*min^2-32*xi*xp^3*min^2+8*xp^2*yi^2*min^2+12*yp^2*yi^2*xi*xp-8*yp^3*yi*xi*xp-16*min^2*yp*xp^2*yi-16*min^2*yp^2*xi*xp-16*min^2*yp*xi^2*yi-16*xi*xp^3*yp*yi-yp^4*xi^2-2*xp^4*yi^2-xp^2*yi^4+24*xi^2*yi*xp^2*yp-16*xi^3*yi*xp*yp-xp^6-xi^6-2*xi^4*yi^2-xi^2*yi^4-8*xi*xp*yp*yi^3-yp^4*xp^2-16*xi*xp*yi^2*min^2+8*xi^3*xp*yp^2+32*min^2*yp*xi*xp*yi+6*xi^5*xp-4*xi^2*min^4+8*xi^4*min^2-4*xp^2*min^4+8*xp^4*min^2+6*xi*xp^5+20*xi^3*xp^3-15*xi^2*xp^4-15*xi^4*xp^2-2*xp^4*yp^2-2*yp^2*xi^4)^(1/2))/(-2*xi*xp-2*yp*yi+yp^2+yi^2+xp^2+xi^2)*yi+xp^2+yp^2+2*min^2-xi^2-yi^2)/(xp-xi)

>> d.y

ans =

1/2*(2*min^2*yp-yp^2*yi+xi^2*yi-2*xi*xp*yp-2*xi*xp*yi+yp^3+xp^2*yi-yp*yi^2+xp^2*yp-2*min^2*yi+yp*xi^2+yi^3+(48*xi^2*xp^2*min^2+4*xp^4*yi*yp+4*xp^2*yi^3*yp+2*xi*xp*yi^4+8*xi*xp^3*yi^2+8*xi*xp^3*yp^2+2*xi*xp*yp^4-12*xi^2*xp^2*yp^2+4*xi^4*yi*yp+8*xi^2*yi^2*min^2+4*xi^2*yi^3*yp-12*xi^2*yi^2*xp^2+8*xi^3*yi^2*xp+4*yp^3*yi*xi^2+4*yp^3*yi*xp^2-6*yp^2*yi^2*xp^2-6*yp^2*yi^2*xi^2+8*min^2*yp^2*xi^2+8*min^2*yp^2*xp^2+8*xi*xp*min^4-32*xi^3*xp*min^2-32*xi*xp^3*min^2+8*xp^2*yi^2*min^2+12*yp^2*yi^2*xi*xp-8*yp^3*yi*xi*xp-16*min^2*yp*xp^2*yi-16*min^2*yp^2*xi*xp-16*min^2*yp*xi^2*yi-16*xi*xp^3*yp*yi-yp^4*xi^2-2*xp^4*yi^2-xp^2*yi^4+24*xi^2*yi*xp^2*yp-16*xi^3*yi*xp*yp-xp^6-xi^6-2*xi^4*yi^2-xi^2*yi^4-8*xi*xp*yp*yi^3-yp^4*xp^2-16*xi*xp*yi^2*min^2+8*xi^3*xp*yp^2+32*min^2*yp*xi*xp*yi+6*xi^5*xp-4*xi^2*min^4+8*xi^4*min^2-4*xp^2*min^4+8*xp^4*min^2+6*xi*xp^5+20*xi^3*xp^3-15*xi^2*xp^4-15*xi^4*xp^2-2*xp^4*yp^2-2*yp^2*xi^4)^(1/2))/(-2*xi*xp-2*yp*yi+yp^2+yi^2+xp^2+xi^2)

1/2*(2*min^2*yp-yp^2*yi+xi^2*yi-2*xi*xp*yp-2*xi*xp*yi+yp^3+xp^2*yi-yp*yi^2+xp^2*yp-2*min^2*yi+yp*xi^2+yi^3-(48*xi^2*xp^2*min^2+4*xp^4*yi*yp+4*xp^2*yi^3*yp+2*xi*xp*yi^4+8*xi*xp^3*yi^2+8*xi*xp^3*yp^2+2*xi*xp*yp^4-12*xi^2*xp^2*yp^2+4*xi^4*yi*yp+8*xi^2*yi^2*min^2+4*xi^2*yi^3*yp-12*xi^2*yi^2*xp^2+8*xi^3*yi^2*xp+4*yp^3*yi*xi^2+4*yp^3*yi*xp^2-6*yp^2*yi^2*xp^2-6*yp^2*yi^2*xi^2+8*min^2*yp^2*xi^2+8*min^2*yp^2*xp^2+8*xi*xp*min^4-32*xi^3*xp*min^2-32*xi*xp^3*min^2+8*xp^2*yi^2*min^2+12*yp^2*yi^2*xi*xp-8*yp^3*yi*xi*xp-16*min^2*yp*xp^2*yi-16*min^2*yp^2*xi*xp-16*min^2*yp*xi^2*yi-16*xi*xp^3*yp*yi-yp^4*xi^2-2*xp^4*yi^2-xp^2*yi^4+24*xi^2*yi*xp^2*yp-16*xi^3*yi*xp*yp-xp^6-xi^6-2*xi^4*yi^2-xi^2*yi^4-8*xi*xp*yp*yi^3-yp^4*xp^2-16*xi*xp*yi^2*min^2+8*xi^3*xp*yp^2+32*min^2*yp*xi*xp*yi+6*xi^5*xp-4*xi^2*min^4+8*xi^4*min^2-4*xp^2*min^4+8*xp^4*min^2+6*xi*xp^5+20*xi^3*xp^3-15*xi^2*xp^4-15*xi^4*xp^2-2*xp^4*yp^2-2*yp^2*xi^4)^(1/2))/(-2*xi*xp-2*yp*yi+yp^2+yi^2+xp^2+xi^2)

>>

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中如何求解符號變數的...

如何用matlab求解齊次線性方程組

方法有很多的,說bai說高du斯列主元消去法解一般線zhi性方dao程組的做法,以下是liezy.m檔案,版檔名不要修改就權要用這個 function ra,rb,n,x liezy a,b b a b n length b ra rank a rb rank b zhicha ra rb if z...

解方程和方程組

第一題2x ax 1 0 由判別式 a 4 2 1 a 8 當 a 8 0時 即a 2 2 或a 2 2時 有解由求根公式即可得解 否則無解 第二題由第一個方程知 x y 4 帶入 x y 2x 2y 4 0 得 4 2x 2y 4 0 即 2x 2y 0 即x y 帶入x y 4 得 2x 4 所...