Effacer les filtres
Effacer les filtres

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 vues (au cours des 30 derniers jours)
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

Réponse acceptée

KSSV
KSSV le 16 Déc 2016
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.

Plus de réponses (1)

Image Analyst
Image Analyst le 17 Déc 2016
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.

Catégories

En savoir plus sur Matrices and Arrays dans Help Center et File Exchange

Tags

Aucun tag saisi pour le moment.

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by