# Output matrix for simple function

2 views (last 30 days)

Show older comments

I'm brand new to Matlab, and have created a very simple function here to calculate an ion's equilibrium potential:

function y = equipotent(n,X1,X2)

y = (58/n) * log10(X1/X2);

I'd like to do two things: 1) vary X2 for a set of values (1-100) while keeping X1 and n constant. and 2) store all the outputs from the function in a vector for plotting X2 vs y.

Anything helps! Thanks!

##### 0 Comments

### Answers (2)

the cyclist
on 14 Apr 2014

If you change your code to

function y = equipotent(n,X1,X2)

y = (58/n) * log10(X1./X2);

then it will give a vector output y for vector input X2, and you should be all set.

##### 0 Comments

Sven
on 14 Apr 2014

Hi Derek,

MATLAB has some useful ways to do what you're trying to do. If you use the (.*) operator instead of (*), it will perform a vector multiplication.

Therefore you can adjust your function as follows:

function y = equipotent(n,X1,X2)

y = (58 ./ n) .* log10(X1 ./ X2);

Then you can just run commands:

y = equipotent(4, 3, X2)

figure

plot(X2,y)

Did that help you out?

##### 4 Comments

Evangelia Lo
on 12 Nov 2021

### See Also

### Categories

### Community Treasure Hunt

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

Start Hunting!