Doing calculation across columns

Hi there. I have a 4 column by 500 row matrix. How would I add a fifth column that calculates , where x is the corresponding value in the second column across the same row.
Thanks!

 Accepted Answer

D=zeros(500,5);
D=matrix;
D(:,5)=exp((-(matrix(:,2)-75)/2).^2)

3 Comments

I am currently trying to do something similar, in order to carry out a calculation of every value in one column. This code I have written is as follows:
x(:,2) = (((6.64e-34)*(9.5e+9))/((9.274e-24)*(x(:,1)/10000)))
However this only seems to calculate a value for the final row in the column, whilst all of the values come out as 0. The column contains 1024 rows.
Any help would be much appreciated!
x(:,2) = (((6.64e-34)*(9.5e+9))./((9.274e-24)*(x(:,1)/10000)))
% ^^ you might want array division here
Thank you! This worked a treat.

Sign in to comment.

More Answers (1)

JULIEN BARBAUD
JULIEN BARBAUD on 22 Apr 2019
Edited: JULIEN BARBAUD on 22 Apr 2019
I think that if you call your input matrix A, and the final result B, then this:
f=@(x) exp( (-(x-75)/2).^2 )
B=[A f(A(:,2))];
should do the trick
EDIT: oops, madhan was quicker

Products

Release

R2019a

Tags

Community Treasure Hunt

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

Start Hunting!