# Evaluate Function at different data points from vectors

2 ビュー (過去 30 日間)
Jalal Hassan 2020 年 6 月 28 日
コメント済み: Jalal Hassan 2020 年 6 月 30 日
I have three vectors
x = [ 0.05 0.06 ]
y = [ 1.23 1.41 ]
z = [ 0.1 0.2]
Now I want to evaluate function at all values such as
f(0.05,1.23,0.1)=2.6629
f(0.05,1.23,0.2)=2.7629
f(0.05,1.41,0.1)=3.1381
f(0.05,1.41,0.2)=3.2381
f(0.06,1.23,0.1)=2.6729
f(0.06,1.23,0.2)=2.7729
f(0.06,1.41,0.1)=3.1481
f(0.06,1.41,0.2)=3.2481
These values should be saved in a vector.

サインインしてコメントする。

### 採用された回答

Thiago Henrique Gomes Lobato 2020 年 6 月 28 日

Use meshgrid to generate all combinations and make your function accept vector entries. Ex:
f = @(x,y,z)x.*y+z; % Insert your function
x = [ 0.05 0.06 ];
y = [ 1.23 1.41 ];
z = [ 0.1 0.2];
[XX,YY,ZZ] = meshgrid(x,y,z); % Create all possible combinations
w = f(XX(1:end),YY(1:end),ZZ(1:end))
w =
0.1615 0.1705 0.1738 0.1846 0.2615 0.2705 0.2738 0.2846

#### 1 件のコメント

Jalal Hassan 2020 年 6 月 30 日
Can I have these in a following order because I need to use these values in a formula.
Order should be like this
x = [x1 x2]
y = [y1 y2]
z = [z1 z2]
f(x1,y1,z1)
f(x1,y1,z2)
f(x1,y2,z1)
f(x1,y2,z2)
f(x2,y1,z1)
f(x2,y1,z2)
f(x2,y2,z1)
f(x2,y2,z2)
Q = [ f(x1,y1,z1) f(x1,y1,z2) f(x1,y2,z1) f(x1,y2,z2) f(x2,y1,z1) f(x2,y1,z2) f(x2,y2,z1) f(x2,y2,z2)]

サインインしてコメントする。

### Community Treasure Hunt

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

Start Hunting!

Translated by