matlab解一下方程,其中只有S是變數,其他字母已經賦值,可它總是解出符號解。不知道怎麼辦,請教

2021-03-23 11:17:06 字數 4460 閱讀 7312

1樓:匿名使用者

k=re=

d=syms s

f=1/(s^0.5)+2*log(k/(3.71*d)+2.51/(re*(s^0.5)));

s=solve(f,'s')

matlab帶字母的符號方程組,解出來後,如何給字母一系列賦值?比如下面的程式中給s賦值,怎麼看解得值? 5

2樓:匿名使用者

用subs進行替換

clear; clc;

syms x y s a ;

f1=x+y-s-a;

f2=x-y-2*s-2*a;

[x y]=solve(f1,f2)

for i=1:11

xx(i)=subs(x,,);

yy(i)=subs(y,,);

endz=[xx;yy]

matlab solve解方程,已經賦值變數,結果仍然還有變數

3樓:匿名使用者

出在

問題原因有:

1、宣告變數錯誤,變數應該寫所求的變數。正確的寫法

syms s1 sd sdp;

2、 solve 命令函式 書寫錯誤(多了單引號)。正確的寫法

[s1,sd,sdp]=solve(0.5744==log(1500)/(log(1500)+s1),s1==sdp+sp,9==sdp+3+sd,'s1','sd','sdp')

執行下列**

>>syms s1 sd sdp;

>>pr1=0.57;sp=3;

>>[s1,sd,sdp]=solve(0.5744==log(1500)/(log(1500)+s1),s1==sdp+sp,9==sdp+3+sd,'s1','sd','sdp')

>> s1=vpa(s1,10)

>> sd=vpa(sd,10)

>> sdp=vpa(sdp,10)

matlab中我已經賦值了,為什麼解方程時還是變數名

4樓:土豆他哥哥

sr=solve('az1=az-ua+sr*sc1*log((1-sr1)/sr)-(sr1+sr)*sc1','sr')

首先我不明白你的az1是幹嗎的,他可以直接去掉,沒有用在此,'sr'既然已經定回

義了是變數在此位置就不要寫

答他了,直接這樣sr=solve('『az-ua+sr*sc1*log((1-sr1)/sr)-(sr1+sr)*sc1『),當然這樣還是沒有結果,因為你現在單引號裡的東西還是個變數,那些資料是傳遞不過去的,要把單引號去掉,變成這樣:sr=solve(az-ua+sr*sc1*log((1-sr1)/sr)-(sr1+sr)*sc1),這就是你想要的結果:sr =

0.066542349259941635511474227545844 - 0.086620997683972769443950088623031*i

5樓:

clear

syms az1 sr

a0=1e7

a=0.6

r0=0.5

z=5v=0.35

uw=1e5

mv=3e-7

n=0.3/1.3

sr1=0.4

sc1=75e3

az=2*a*(a0*r0^2)/z^3*(1+(r0/z)^2)^(-(a+1))

ua=az/(1+n*(1-sr1)/(uw*mv)*(1+2*(1-2*v)/(1+v)))

uw=ua+sc1

sr=solve(az-ua+sr*sc1*log((1-sr1)/sr)-(sr1+sr)*sc1-az1)

6樓:汾中學子

這個哈,我還沒學,呵呵,抱歉。

菜鳥請教,matlab求解方程,變數已賦值,為啥解不出來

7樓:匿名使用者

因為 solve( )的表示式是帶引號,所以dt、t、v、q等已知值不能代入其表示式中。因此,程式應作如下改動

clc;

syms dt  %宣告變數dt=0.01;

t=273.15;

v=150;

q=1.3611;

eq=1.5*220*dt*dt+1.206*(v-q*dt)*dt*1005-(q*dt*(310.15-t-dt)*1.206*1005)

dt=solve(eq,'dt');

dt=vpa(dt,5);

執行結果

matlab裡面,有符號變數的方程組的求解,為什麼執行全都是warning然後結果是empty s

8樓:匿名使用者

前乙個警告是因為,你求解的是4個方程,但只指定了3個變數(其它符號會被視為常量),這種方程數量多於未知數的方程組,除非個別特殊情況,大多數是無解的,所以會以警告的形式提示你。

後面的乙個警告,是告訴你求解的結果沒有得到顯式解。得不到顯式解可能是因為方程組本身無解,有可能是matlab求不出。不要對符號運算寄予過高期望,很多非線性方程(組)都是難以求出顯式解的,這在數學上本身就存在困難,當然不能指望乙個軟體就能解決。

求不出解析解的情況下,大部分場合可以借助於數值方法求數值解,當然,這需要常數都是已知的。

怎麼用matlab解含有字母係數的方程組的解,舉個簡單例子

9樓:大野瘦子

用法以這個為例:

x+a*y=10

x-b*y=1

其中x,y為變數,a,b為字母係數.

只要在matlab中輸入

syms x,y,a,b

[x y]=solve('x+a*y=10','x-b*y=1','x','y')

即可求出解

x =(a + 10*b)/(a + b)

y =9/(a + b)

對於函式solve的具體用法,可以通過輸入help solve來學習。

matlab中方程求解的基本命令

1.roots(p)  %求多項式的根,其中p是多項式向量。

例求x3-x2+x-1=0的根

解:>>roots([1,-1,1,-1])

注: [1,-1,1,-1]在matlab中表示多項式 x3-x2+x-1

2.solve(fun)     %求方程fun=0的符號解,如果不能求得精確的符號解,可以計算可變精度的數值解

例:用solve求方程x9+x8+1=0的根

解:>>solve(『x^9+x^8+1』)

給出了方程的數值解(32位有效數字的符號量)

3.solve(fun,var)     %對指定變數var求代數方程fun=0的符號解。

例:解方程 ax2+bx2+c=0

解:>>syms a b c x;

>>f=a*x^2+b*x+c;

>>solve(f)

如果不指明變數,系統預設為x,也可指定自變數,比如指定b為自變數

>>symsa b c x;

>> f=a*x^2+b*x+c;

>>solve(f,b)

4.fsolve(fun,x0)    %求非線性方程fun=0在估計值x0附近的近似解。

例:用fsolve求方程x=e-x在0附近的根

解:>>fsolve(『x-exp(-x)』,0)

5.fzero(fun,x0)   %求函式fun在x0附近的零點

例:求方程x-10x+2=0在x0=0.5附近的根

解:>>fzero(『x-10^x+2』,0.5)

10樓:匿名使用者

舉個簡單例子,解方程組

x+a*y=10

x-b*y=1

其中x,y為變數,a,b為字母係數。

只要在matlab中輸入

syms x,y,a,b

[x y]=solve('x+a*y=10','x-b*y=1','x','y')

即可求出解

x =(a + 10*b)/(a + b)y =9/(a + b)

對於函式solve的具體用法,可以通過輸入help solve來學習。

希望我的回答能夠解決您的疑問,謝謝。

11樓:匿名使用者

例:解方程組a*x+2*y=4,4*x+b*y=7matlab**:syms a b x y;

z=solve('a*x+2*y=4','4*x+b*y=7')即可。

幫忙解一下2元一次方程,誰給我具體說一下2元一次方程的解法!

x y 7 4.1 16x 16y 190 250.2 由1式得。4x 7y.3 由2式得。16x 16y 440 4x 4y 110.4 將3式代入4式得。7y 4y 110 11y 110 y 10將y 10代入3式得。4x 7 10 4x 70x 35 2 所以x 35 2,y 10 10 b...

幫忙解一下

這段時間的總路程為2s,所用的總時間t s v1 s v2,那麼平均速度為2s除以t,也就是2v1v2 v1 v2 由甲港開往乙港的時間為s u1 乙港返回甲港的時間為s u2 總路程為2s 所以平均速度為 2s s u1 s u2 2u1u2 s1 s2 我的答案2v1v2 v1 v2 2s s ...

方程什麼情況下唯一解,無數解,無解

如方程ax b 1 當a不 0時有唯一解是x b a 2 當a b 0時有大多數個解 3 當a 0,且b不 0時,無解 2x 3m mx 當m 0,且m 2時,方程有唯一解 當m 0時,方程有無數解 當m 2時,方程無解 x x 無數解 一元一次方程有一解 一元二次方程 deta 0,2解。0,一解...