Divide a row vector with a column vector with different dimensions
조회 수: 6 (최근 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개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Surface and Mesh Plots에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!