Community Profile

photo

Hossein


Active since 2011

Hi,

I am using odeXXX for solving a simple ordinary equation. I need to have the solution in different times. For doing so, I though I only need a time span like
timespan=linspace(0,45E-6,88)
but the number of outputs does not have any correlation with the size of timespan

timespan=linspace(0,45E-6,88);
sol=ode45(handle,timespan,y0)

so I am expecting to see 88 answer in the output, but depending on the 'RelTol' the number of output is something about 24 to 290

right now I am using a for loop like this,

for i=1:size(timespan)
sol=ode45(handle, [0 timespan(i)],y0)
y=sol.y(:,end)
end

I am sure there must be a much better and faster way to obtain these results.

Statistics

  • Knowledgeable Level 1
  • First Answer

View badges

Content Feed

View by

Answered
stopping a function after 30 iterations
Hi, The function that you are using doesn't have any real root. If you change the function to x^2-1 it works perfectly fine. ...

12 years ago | 0

Answered
Substituting numbers into a matrix with symbolic values
Is it possible to write a function that does that? like this: function Amat=Amat(x,y,z) Amat=[x+y;y+z;z+x;y+z]; end...

12 years ago | 0

| accepted

Answered
add two number and create the text file with the result in it
Hi, first create a file using fopen function. It opens/creates to read/write. Because you wanna write use 'w' as permission. f...

12 years ago | 1

| accepted

Question


Passing function handle to another function and assigning varying number of input arguments to it
Hi, I am trying to write a code in which I need to pass a handle function to another function, let say function b=myfun...

12 years ago | 1 answer | 0

1

answer

Answered
Uncertainty
Hi, I think since fminsearch is a derivativ-free method, it cannot calculate the uncertainty of answer. You can use lsqcruvefit ...

12 years ago | 0