2014-09-15 2 views
0

숫자 풀이의 논리를 이해합니다. matlab은 알 수없는 값으로 시작하고 방정식이 값으로 수렴 될 때까지 반복합니다. 그러나 내가 이해하지 못하는 것은 나의 방정식을 입력하는 적절한 방법이다. 제 생각에는 ode45 기능을 사용하는 것이 가장 좋은 방법이라고 생각합니다. 다음 방정식이 있습니다 U^(n+1) = U^n - (t'*3250/10)-(t'/2)(.004(v^n)^2/10. 나는 내 방정식이 다른 형태가 될 필요가 있지만, MATLAB이 방정식을 풀도록 올바른 방법을 확신 할 수 없다는 의혹이 있습니다.matlab에서 숫자를 풀어서 숫자를 풀기

나는 방정식을 matlab에 그대로 입력하려고했지만 v 및 n은 알 수없는 변수이므로 해당 변수를 처리하는 방법이 확실하지 않습니다. 이 방정식의 최종 목표는 V의 값을 찾을 수 있습니다

[email protected](t,v) u^n-(3250*t'/10)-(t'/2)*((.004*(v^n)^2)/10) 
[t,v]=ode45(C,[0,5],1) 

는 다음 오류를 생성합니다.

Undefined function or variable 'u'. 

Error in @(t,v)u^n-(3250*t'/10)-(t'/2)*((.004*(u^n)^2)/10) 


Error in odearguments (line 88) 
f0 = feval(ode,t0,y0,args{:}); % ODE15I sets args{1} to yp0. 

Error in ode45 (line 114) 
{neq, tspan, ntspan, next, t0, tfinal, tdir, y0, f0, odeArgs, odeFcn, ... 

Error in ae301_3 (line 2) 
[t,v]=ode45(C,[0,5],1) 
+0

어, 어떤 기능/도구 상자를 사용하여 해결할 수 있습니까? 해당 설명서를 확인하십시오? – BadZen

+0

'ode45'http : //www.mathworks.com/help/matlab/ref/ode45.html 문서에 내 상황에 도움이되지 않는 예제가 있습니다. – ez4nick

+0

코드를 알려주십시오. 네가 네 기능을 올바르게 선언하지 않은 것 같아. – BadZen

답변

0

ODE 해법은 상미 분 방정식의 사용된다. 당신의 방정식은 미분이 아닌 비선형 대수 방정식입니다.
Matlab에서는 fzero를 사용하여 문제를 해결할 수 있습니다. 그러나 귀하의 기능은 쉽게 재 배열 될 수 있으며 반복적 인 절차없이 분석적으로 해결 될 수 있습니다.

관련 문제