Azzera filtri
Azzera filtri

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 visualizzazioni (ultimi 30 giorni)
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

Risposta accettata

KSSV
KSSV il 16 Dic 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.

Più risposte (1)

Image Analyst
Image Analyst il 17 Dic 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.

Categorie

Scopri di più su Matrices and Arrays in Help Center e File Exchange

Tag

Non è stata ancora inserito alcun tag.

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by