MATLAB Answers


How to multiply 2 columns by a scalar number in MATLAB

Asked by Muhammad on 19 Sep 2013
Accepted Answer by Jan
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 calculate the volume. first multiply 0.09 by both columns to get X and Y.
Z = repmat(0.18,[length(x),1]);
[FileName,PathName] = uiputfile('*.xls','Save data to spreadsheet');
Data=[X,Y,Z, Volume];
xlswrite([PathName '/' FileName],Data); end


Please format your code properly.
If you post code, explain if it is working well or if you have any problems with it.
yes, it works thank you.
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.

Sign in to comment.


No tags entered yet.

1 Answer

Answer by Jan
on 19 Sep 2013
 Accepted Answer

X = 0.09 * x;
Y = 0.09 * y;
Volume = X .* Y * 0.18;


That's what he asked for and that's what you gave and that's what he accepted, but Jan and I know that is not what he needs. Calculating volume this way is totally bogus. Not even close to being correct.
@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().
ok yes, i understand. listen what i want.
i want to make GUI it will work as we contour some region of interest in the patient CT in Pinnacle treatment planning system and then calculate the dose and find mean,minimum, maximum dose in that region.
But i have a image file and a dose file. i want to use these to calculate the maximum, minimum, and mean doses inside the contour region.i want to make contoure in the image and use that in dose to find the dose in that region and calculate maximum, minimum, and mean dose in that region.
till now, i made a GUI i can open a image (there are 55 image Slices, i can open one at a time) on the axis then i can contour by imfreehand. i thoght if i have the all x,y cooridnates inside the region then i will find these coordinate in the dose file which is in excel for the same slice to calculate the mean maximum doses but it vain

Sign in to comment.