how can I do Iteration in matlab
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
I have an equation of the form
a(x) + x.da/dx = 2x , x= 1:1:12
f(x) is known and has different values for different x. My question is how can I find values of 'a' in matlab through iteration. Am new to matlab and any help is highly appreciated.
0 comentarios
Respuesta aceptada
Azzi Abdelmalek
el 17 de Nov. de 2012
Editada: Azzi Abdelmalek
el 17 de Nov. de 2012
save this function with the name dif_eq
function da=dif_eq(x,a,tim,f)
f1=interp1(tim,f,x)
da=(f1-a)/x;
then call the function:
t=[0.1:10]; % time vector
x0=0; % initial condition
f=rand(1,numel(t)); % your vector f, same length as vector time t
[X,A]=ode45(@(x,a) dif_eq(x,a,t,f),t,x0);
plot(X,A)
Más respuestas (1)
Azzi Abdelmalek
el 17 de Nov. de 2012
Editada: Azzi Abdelmalek
el 17 de Nov. de 2012
save this funnction with the name dif_eq
function da=dif_eq(x,a)
f=sin(x); for example
da=(f-a)/x;
then type in Matlab command
[x,res]=ode45(@dif_eq,[1 12],0)
5 comentarios
Azzi Abdelmalek
el 17 de Nov. de 2012
Ede, the problem is not a, we are looking for a. I can't use f with different values in the equation. If I find something I will post it, or someone else will do.
Ver también
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!