求教matlab求解方程
1樓:網友
問題描述不是很清楚。
按我的理解,dv和dy應該是分別指dv/dt、dy/dt吧?然後要求微分方程的解滿足終值的要求,即在t=秒的時候,v和y的值分別是30和。
如果上述理解無誤,則為常微分方程的邊值問題(bvp)。我試圖用符號數學的dsolve求解,但求不出顯式解,只能用數值方法求解了。以下是求解的**,供參考。
定義odedx=inline('[ +x(1)]'t','x');
定義邊界條件。
bc=inline('[xf(1)-30;xf(2)',x0','xf');
解的初始估計。
solinit = bvpinit(linspace(0,,5),[1 0]);
求解。bvpsol = bvp4c(dx,bc,solinit);
繪圖。t = ;
v = ,:
y = ,:
subplot(211)
plot(t,v)
xlabel('time');
ylabel('v');
subplot(212)
plot(t,y)
xlabel('time');
ylabel('y');
如何用matlab求解方程?
2樓:張維建
用matlab求解方程:兩個步,乙個注意。
第一步:使用「syms」定義變數;
第二步:使用「solve」函式求解方程;
注意:函式表達時,用「==比如x+y==5(而不是x+y=5);
舉例:syms x y z ;(有幾個變數就定義幾個)solve(方程1,方程2 ,方程3,x,y,z)<>
matlab求解方程
3樓:網友
樓主應該matlab用的比較少:
第乙個方程缺少乙個右括號;
使用solve求解器時,首先要用syms命令定義符號變數,比如在本例中在前面要加上。
syms pp qq;
solve命令只能識別數字或者符號變數,對於樓主定義的oc,os等常量無法識別,假如樓主將它們也定義為符號變數,那結果中就會由這些變數來表示,比如:pp = oc + os;
等號「=」為賦值命令,在使用solve命令時應該用「==」來表達方程式;
solve命令不是萬能的,在方程非常複雜(就像本例一樣)的時候,經常會得不到精確答案,將本例的錯誤全部改正之後,仍舊不能得到令人滿意的精確解(當然也可能是我學藝不精。。。相反,結果是兩個空的符號變數:pp =[ empty sym ] qq =
給樓主提供乙個簡單的solve例子以便參考:
clc;clear
syms x y a b
x, y] = solve(x + y == a, x - y == b, x, y)
得到的結果為:
x = a/2 + b/2
y = a/2 - b/2
matlab解方程問題
4樓:網友
由方程左端的取值可知,若求實數解,則δ必位於[0,50]區間;
直接用matlab符號數學工具箱的solve函式只能求出乙個解析解來:δ=0;
用 ezplot('sin(x)^2-x/50',[0 50]) 可以繪製出函式影象,從圖中可見,在0-50的範圍內,每個2π週期有4個解,共有32個解;
用下面的**可以求出各數值解並繪圖:
fun = inline('sin(x).^2-x/50');
x = fsolve(fun,:pi/2:50,optimset('display','off'))
ezplot(fun,[0 50])
hold on
plot(x,fun(x),'ro')
這是個超越方程,沒有一般的求解析解方法,但是否有什麼特殊辦法能夠求解,我並不確定。
matlab求解非線性約束方程,求教 如何用matlab解帶約束的非線性方程組
用fmincon函式就可以解決,以下是fmincon的說明,你照葫蘆畫就可以了。這個函式的基本形式為 x fmincon fun,x0,a,b,aeq,beq,lb,ub,nonlcon,options 其中fun為你要求最小值的函式,可以單寫一個檔案設定函式,如以上給的例子中。1.如果fun中有n...
matlab解方程後結果不對,matlab solve解方程結果不對
你的 沒有問題。錯就錯在,提取變數計算值 的 位置不對。依次的順序是x x1,x2,x3,y3,z1,z2 求解結果 驗證結果 matlab solve解方程結果不對 對於你的問題,最好這樣來處理。r 1.9 d 0.175 ac 11.5 bc 6.5 l 11.66 cc pi syms aa ...
求解方程組
b c 2 b 2 c 2 2bc 13 2 4 21可得b c 常數 繼而b 常數 c 將b帶入bc 4 就是乙個一元二次方程了 根據一元二次求解公式就可以得出結果了 ps b c若未知正負,自己判斷下就ok了 不會判斷就用假設法。解由b c 13 即b c 2bc 13 2bc 即 b c 13...