Divide a row vector with a column vector with different dimensions
7 views (last 30 days)
Show older comments
Mohammad Edaibat
on 7 Oct 2016
Commented: Mohammad Edaibat
on 7 Oct 2016
I have a problem with dividing a row vector with a column vector both different functions Quickly here is the problem from begining
the equation I want to solve for is EPD = ((H * Lambda) / (Q * GSD)) H = [500:100:1000] Q = [0.2:0.1:2] Lambda and GSD are Constants
What I have done is I created a new vector called HandLambda (Multiplied the constant Lambda with vector H) and Another vector called QandGSD (Mulitplied the constant GSD with the vector Q) then I trasnposed the new vector QandGSD and called it QandGSDreverse (Its now a column vector)
My problem now I'm trying to divide those two new vectors (different dimentions so EPD = ((H * Lambda) / (Q * GSD)) = HandLambda ./ QandGSDreverse
The division is NOT working I thought a row vector can easily be divided with a column vector even with different dimentions
Any thoughts and Ideas?? Also I'm open to change the way this can be solved!
1 Comment
Adam
on 7 Oct 2016
What would you expect the result to be of dividing two vectors of different size? Which elements should divide by what and what happens to the excess elements in either vector?
Accepted Answer
Massimo Zanetti
on 7 Oct 2016
Edited: Massimo Zanetti
on 7 Oct 2016
Better if you use same sized vectors. And use './' instead of '/' to do element wise division.
%number of points
n=100;
%euqally subdivide your variable intervals
H = linspace(500,1000,n);
Q = linspace(0.2,2,n);
%constants
Lambda=1;
GSD = 2;
%equaiton
EPD = (H * Lambda) ./ (Q * GSD) ;
3 Comments
Massimo Zanetti
on 7 Oct 2016
Then you have to compute a GRID of values.
H = [500:100:1000]; Q = [0.2:0.1:2] ;
[H,Q]=meshgrid(H,Q);
EPD = (H * Lambda) ./ (Q * GSD) ;
and your result will be a surface
surf(H,Q,EDP);
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!