## how to write algorithm

### Anthony (view profile)

on 5 Apr 2014
Latest activity Answered by Star Strider

on 5 Apr 2014

Walter Roberson

### Walter Roberson (view profile)

on 5 Apr 2014

We can't give an algorithm until you indicate what values are to be input and what values are to be output.

## Products

No products are associated with this question.

### ragesh r menon (view profile)

on 5 Apr 2014

What you want to do?

### Star Strider (view profile)

on 5 Apr 2014

Assuming that you may not have the Symbolic Math Toolbox, this should get you started:

```syms A E(x) Z b c d E0
```
```Eqn1 = -diff(E,x)/p == (3574/A) * E^(-b) * Z^(c*log(E)+d);
```
```SEqn1 = dsolve(Eqn1, E(0) == E0);   % E(0) == E0, initial condition
```
```SEqn1 = simplify(collect(expand(SEqn1)));
```
```E = matlabFunction(SEqn1)
```

produces:

` E = @(A,E0,Z,b,c,d,p,x)(-(Z.^d.*p.*x.*3.574e3-A.*E0.^(b+1.0).*exp(-c.*log(E0).*log(Z))+Z.^d.*b.*p.*x.*3.574e3-Z.^d.*c.*p.*x.*log(Z).*3.574e3)./A).^(1.0./(b-c.*log(Z)+1.0));`

The rest is yours to solve, since I haven’t shot a proton at a target in a very long time.

It looks rather straightforward, otherwise.

See the MATLAB Online Documentation for details.

#### Join the 15-year community celebration.

Play games and win prizes!

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi