1. 怎麼給微分方程寫程序呀,matlab,謝謝了
y=dsolve('Ds=-108','t')
y =
-108*t+C1
2. matlab求微分
MATLAB 提供的函數diff( )可用來求解符號對象的微分,其調用的格式為
(1) diff(S,'v'):對符號對象S 中指定的符號變數v 求其1 階導數。
(2) diff(S):對符號對象S 中的默認的獨立變數求其1 階導數。
(3) diff(S,n):對符號對象S 中的默認的獨立變數求其n 階導數。
(4) diff(S,'v',n):對符號對象S 中指定的符號變數v 求其n 階導數。
下面舉例說明用法:
>> syms x n
>> y=sin(x)^n*cos(n*x);
>> Xd=diff(y)
Xd =
sin(x)^n*n*cos(x)/sin(x)*cos(n*x)-sin(x)^n*sin(n*x)*n
>> Nd=diff(y, n)
Nd =
sin(x)^n*log(sin(x))*cos(n*x)-sin(x)^n*sin(n*x)*x
至於你要求的微分值,請按照上述方法,然後調用函數subs()完成所求值,例如
subs(Xd, x, 2) ,其中Xd是微分後的表達式,x是自變數,2是指定的某點。
3. matlab微分方程m文件編程
syms
i
t
dsolve('L*Di+R*i=Um*sin(w*t)','i(0)=0','t')
你少寫了一個條件,就是t=0的時候,i=0
運行結果為
i=exp(-R/L*t)/(R^2+w^2*L^2)*Um*w*L+Um*(-w*L*cos(w*t)+R*sin(w*t))/(R^2+w^2*L^2)
4. matlab中求符號函數的微分
x,y,z是t的函數就要顯示的寫出來
比如
syms t sita;
x=sin(t);
y=cos(t);
Rq=[x*x x x*y];
diff(Rq,t,1)
第一個參數Rq是函數,第二個參數是對哪個變數求導t,一個參數時可以不指定。
第三個參數是求幾次(偏)導數。
5. MATLAB求解微分方程
問題出在函數exf.m上,定義function之後最後一句應該是end。
functionxdot=exf(t,x)
u=3*cos(t);
xdot=[01;-11]*x+[0;1]*u;
end
%主程序可以用下面的試試
clf;t0=0;tf=2*pi;x0t=[0;0];
[t,x]=ode23('exf',[t0,tf],x0t)
y1=x(:,1),
%y2=x(:,2)
plot(t,y1,'b-')
holdon
y=dsolve('D2y-Dy+y=3*cos(t)','y(0)=0,Dy(0)=0','t');
yy=subs(y,t);
plot(t,yy,'r*')
legend('數值解','解析解')
6. 如何用matlab求解二階微分方程,以及程序實例
1、對於解析值,你可以用dsolve()函數求解。如求微分方程x*y''+x﹡(y')^2-y'=0的解析解
>> syms y(x)
>>Dy = diff(y);D2y = diff(y, 2);
>>dsolve(x*D2y+x*(Dy)^2-Dy==0,'x')
運行結版果
2、對於數值解,你可以查看二階常微分方程這個例子,https://..com/question/1112476448513751339.html(龍格-庫塔方法)
7. 求MATLAB編程實現微分畫圖
把這部分保存為M函數,注意文件名一定是:Lemaitrechaboche
function dy=Lemaitrechaboche(t,y)
r=13.19;A=1209;x=620;a0=13.2478;
a1=0.00007865;a2=-0.0001924;z=733.25;
k=a0+a1*(x-z)+a2*(x-z)^2;
dy=[0;(x/A)^r*(1-y(2))^(-k)];
end
————————分割線——————————
在命令窗口輸入:
[t2,y2]=ode45(@Lemaitrechaboche,[0,565],[0,0]); %Lemaitrechaboche模型函數數值求解
plot(t2,y2)
結果:
8. 想請高人幫我看一下以下微分方程的matlab程序怎麼編寫
將下面代碼保存為ddextest.m直接運行就可。傳統了tz系統參數
function ddextest
tz=1;%系統參數
tao=2;%延遲
sol = dde23(@(t,y,Z)ddex1de(t,y,Z,tz,tao),[tao, tao],ones(2,1),[0, 5]);
figure;
plot(sol.x,sol.y)
function dydt = ddex1de(t,y,Z,tz,tao)
% Differential equations function for DDEX1.
ylag1 = Z(:,1);
ylag2 = Z(:,1);
dydt = [ y(2)-ylag1(2)+tz^2
ylag1(1) + ylag2(2)+tao^3];
9. 求MATLAB解微分方程的程序
用dsolve命令。該命令中可以用D表示微分符號,其中D2表示二階微分,D3表示三階微分,以此類推。像這樣:「dsolve(「Dy=3*x*x」,「x」)」