What is wrong with this line of script?

1 visualización (últimos 30 días)
Alice
Alice el 5 de Abr. de 2014
Comentada: Alice el 5 de Abr. de 2014
I've written: [t,h] = ode45('cylinder_tank_drain', [0, 200], h0)
it keeps coming up with an error message what just says there is an error in this line. what is wrong? :(

Respuesta aceptada

Youssef  Khmou
Youssef Khmou el 5 de Abr. de 2014
Change r0 to :
r0=linspace(0.01,0.1,length(r));

Más respuestas (3)

Walter Roberson
Walter Roberson el 5 de Abr. de 2014
There is no obvious error in that line. Perhaps there is an error in the previous line that is affecting it. Please post more of your script.
Also, I suggest converting to function handle form:
[t, h] = ode45(@cylinder_tank_drain, [0, 200], h0);

Youssef  Khmou
Youssef Khmou el 5 de Abr. de 2014
The problem resides in the function "cylinder_tank_drain", if it is possible you post the function to study its input and outputs.

Alice
Alice el 5 de Abr. de 2014
Editada: Walter Roberson el 5 de Abr. de 2014
function [ dhdt ] = cylinder_tank_drain( t, h)
%draining of a uniform cross sectional area tank (cylinder)
r = [1:0.5:6];
A = pi.*r.^2;
r0 = [0.01:0.01:0.1];
a0 = pi.*r0.^2;
g = 9.8;
dhdt = (-a0.*sqrt(2*g.*h))./A;
  2 comentarios
Walter Roberson
Walter Roberson el 5 de Abr. de 2014
Your "r" is length 11. Your "r0" is length 10. You are trying to combine two vectors of different lengths.
Alice
Alice el 5 de Abr. de 2014
Thanks!!

Iniciar sesión para comentar.

Categorías

Más información sobre Ordinary Differential Equations en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by