help-octave
[Top][All Lists]

## Re: Puncher soft limiter !!!

 From: Paul Kienzle Subject: Re: Puncher soft limiter !!! Date: Wed, 04 Jun 2003 19:15:27 -0400 User-agent: Mozilla/5.0 (Windows; U; Win 9x 4.90; en-US; rv:1.3) Gecko/20030312

```cctsim wrote:

```
```On Wednesday 04 Jun 2003 12:37 pm, Paul Kienzle wrote:

```
```Try max([-5:0.1:5]).  You may find
that it is 4.9.  Or it may be that it is
a tiny bit above 5 due to cumulative

Next try max(linspace(-5,5,101)), and
see if that is any better.
```
```
I tried the following:
```
```format long
max([-5:0.1:5])
```
```ans = 5.00000000000000

```
```try:  max([-5:0.1:5])-5

```
```
The only the thing that seems to work is:

```
```max(puncher(linspace(-5,5,101),5))
```
```ans = 5

but now I am not sure if this 100% unconditional !

```
```For that, you will have to use the source (liboctave/dRowVector.cc):

double delta = (x2-x1)/(n-1);
x(0) = x1;
for (i=0; i < n-1; i++) x(i) = x1+i*delta;
x(n-1) = x2;

So the answer is definitely yes.

```
```You should find the perfomance of
x(x<-A | x>A) = 0;
really large in which case you will
run into other problems. No need
for C++ here.
```
```
```
x(x<-A | x>A) = 0; This is cool !!! But still suffers from the same problem.
```Is there any way not to overwrite x without using dummy variables ?

```
```y = x(x>=-A & x <= A);

```
I know C++ seems a bit overkill for the puncher but my plan was to use it as a template for the Hampel soft limiter for
```complex signals which is computationally more complicated.
I have it running using a conventional m-function but is very slow.

```
```For loops in octave are slow.  If you can
express your algorithm with vector or
matrix operations, then the overhead of
octave is not a problem.

Paul Kienzle

-------------------------------------------------------------
Octave is freely available under the terms of the GNU GPL.

Octave's home on the web:  http://www.octave.org
How to fund new projects:  http://www.octave.org/funding.html
Subscription information:  http://www.octave.org/archive.html
-------------------------------------------------------------

```