Divide a row vector with a column vector with different dimensions
1 次查看(过去 30 天)
显示 更早的评论
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 个评论
Adam
2016-10-7
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?
采纳的回答
Massimo Zanetti
2016-10-7
编辑:Massimo Zanetti
2016-10-7
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 个评论
Massimo Zanetti
2016-10-7
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);
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!