How to multiply 2 columns by a scalar number in MATLAB
2 ビュー (過去 30 日間)
古いコメントを表示
Dear All
Hope you all are keeping good.i need 4 columns [X,Y,Z,Volume]in excel and first of all i want to multiply X and Y columns by 0.09 and (Z column contains just one scalar (0.18) value) then want to multiply all these X,Y,Z coordinates to get Volume. the code i am trying is given below. any help is appreciated.
if true
[x, y] = find(handles.maskedImage ~= 0);
% here x and y are created in excel by code line.to calculate the volume. first multiply 0.09 by both columns to get X and Y.
X=times(0.09,x);
Y=times(0.09,y);
Z = repmat(0.18,[length(x),1]);
[FileName,PathName] = uiputfile('*.xls','Save data to spreadsheet');
Volume=times(X,Y,Z);
Data=[X,Y,Z, Volume];
xlswrite([PathName '/' FileName],Data); end
3 件のコメント
Image Analyst
2013 年 9 月 19 日
編集済み: Image Analyst
2013 年 9 月 19 日
No it doesn't. Think about what you are doing. Multiplying the x,y coordinates of every pixel in the selected region by the spatial calibration factor does not calculate the volume.
採用された回答
Jan
2013 年 9 月 19 日
X = 0.09 * x;
Y = 0.09 * y;
Volume = X .* Y * 0.18;
3 件のコメント
Jan
2013 年 9 月 20 日
@Image Analyst: I'm physicist and therefore very free in the choice of the definition of the term "volume", "pixel" and "coordinates". It could be a sound volume for a generalization of acoustic sound waves in a high-dimensional space with a linear metric. Or the coordinates could have been transformed before by a difference of neighboring elements.
But without doubt you are right and for the standard definition of a spatial volume in the Euclidean 3D space this calculations are not correct.
@Muhammad: You have to check the results with known test data, e.g. a line (Volume==0), a sphere and a rotated cube. I focused on avoiding the failing times().
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Image Processing Toolbox についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!