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,一解...