matlab二維函式zfx,y擬合公式

2021-03-03 22:53:19 字數 779 閱讀 8743

1樓:匿名使用者

參考**:

% 生成測試資料

x = rand(100,1);

y = rand(100,1);

k = 2;

a = 1.5;

b = 2.5;

z = k*(x.^a).*(y.^b);

% 資料加入噪聲

z = z + randn(size(z))*0.1;

% 資料擬合

f=inline('c(1)*x(:,1).^c(2).*x(:,2).^c(3)','c','x');

c=lsqcurvefit(f,[1 1 1],[x y],z)

% 繪圖

[x,y] = meshgrid(linspace(min(x),max(x),20),linspace(min(y),max(y),20));

z = reshape(f(c, [x(:), y(:)]), size(x));

clfa = 0.5;

mesh(x,y,z,'facealpha',a,'edgealpha',a);

hold on

plot3(x,y,z,'r.')

view(15,5)

xlabel('x'); ylabel('y'); zlabel('z');

擬合結果:

c =1.9917    1.3921    2.4509

與真實模型的引數[2 1.5 2.5]吻合。

如何用matlab畫二維函式影象

如果是初學 bai,建議使用du嚴格的數值繪圖命zhi令,在清楚函式定義域的dao前提下畫圖 clear all clc x 3 0.01 3 y exp x plot x,y grid on axis 3,3,2,6 log x 這個函式版,如果不限定權定義域的話,會有複數解的。clear all...

matlab中怎樣將三維陣列的維賦給二維如A1)賦給二維的B

1,直接賦值 b a 1 試了一下可以。2.先用次sum求每行元素和,因為要求 每個元素都除以每列之和 所以得用1次for迴圈 1 三維陣列中的各個為也是二維陣列,所以賦值可以直接賦即可!假設a是三維陣列,b是二維陣列 b a 1 b a 2 b a 3 分別把a的三維中的 一 二 三維賦給b。2 ...

用rand 函式填寫並輸出二維陣列

include include include define n 10 int main void srand unsigned time null int i,j,a n n for i 0 i 呃.來這裡問你往前走.包括 包含 包括使用名稱空間std 國際主要 整數噸 0 函式srand 無符號...