I thought i saw a place in the thread where you had a linear equation that you didnt think was linear so i thought i would throw out some definitions that might help.

For example, the capacitor:

dv/dt=i/C

or when charging:

dv=i*dt/C

would be linear in 'i', so with a constant current we'd get a ramping voltage.

On the other hand:

dv=(E-Vc(t))/RC

where E is a DC voltage source and Vc(t) the changing capacitor voltage, that would come out looking exponential:

Vc(t)=E*(1-e^(-t/RC))

But anyway, the idea of using:

(x2-x1)/(y2-y1)=K

for any *TWO* points, tells us that we do need at least two inputs and two outputs to check for linearity. Of course that may not be enough either though, because really this equation has to be satisfied for ANY two points on the curve, not just one particular set. There may be a time when we can get one particular set that satisfies this, but then picking a new, different set shows non linearity. So the more points tested the better, at least for a truly general test that is. For example for the equation described by two conditions:

y=x {0<=x<=5}

y=x+1 {5<x<10}

for any two points inside the interval from 0 to 5 inclusive would show complete linearity, while for anything between 5 and 10 exclusive would show non linearity.

If you already knew this that's fine, but you also need to apply it

If the system is already known to be linear you can use the impulse response.