6*3 matrix and put each value row wise in equation f(x,y,z)= [(X-0.33).​^2+(Y-0.33​).^2+(Z-0.​33).^2] and calculate the answer and store that value as 4th column in matrix

3 次查看(过去 30 天)
firstpop =
x y z f(x,y,z)
6 1 2
2 5 2
7 1 1
2 6 1
1 2 6
0 0 9

采纳的回答

KSSV
KSSV 2016-12-16
What is there to do in your question? It is very easy and straight forward. I advice you to read MATLAB basics, it is very straight forward job.
  1. Let data be your 6X3 matrix.
  2. Take x,Y and Z from the data. X = data(:,1) ; Y = data(:,2) ; Z = data(:,3) ;
  3. Define your formula: f= (X-0.33).^2+(Y-0.33).^2+(Z-0.33).^2 ;
  4. You got f, append it to the data.

更多回答(1 个)

Image Analyst
Image Analyst 2016-12-17
If a 3D array is wanted for f instead of a 1-D vector (it's hard to tell from your description), then you need to use meshgrid().
% x y z f(x,y,z)
firstpop =[...
6 1 2
2 5 2
7 1 1
2 6 1
1 2 6
0 0 9]
x = firstpop(:, 1);
y = firstpop(:, 2);
z = firstpop(:, 3);
% Get all possible combinations
[X, Y, Z] = meshgrid(x, y, z);
% Now compute the 3-D matrix:
f = (X-0.33).^2+(Y-0.33).^2+(Z-0.33).^2;
Now f is a 3D array instead of a 1-D array like in KSSV's solution.

类别

Help CenterFile Exchange 中查找有关 Matrices and Arrays 的更多信息

标签

尚未输入任何标签。

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by