Matlab Làm thế nào để làm z = f (x, y)?

D

davyzhu

Guest
Hi tất cả,

Tôi muốn làm
X = [-5:0.1:5];
Y = [-5:0.1:5];
Z = log (exp (X) exp (Y));

Tôi muốn nhận Z như một * 101 101 (n * n) vector
Tuy nhiên, Matlab cho Z là một * 1 101 (1 * n) vector.

Làm thế nào để có được Z 101 * 101 vector mà không cần "cho vòng lặp"?

Trân trọng,
Davy

 
Hi davyzhu,

Tôi không thực sự rõ ràng những gì bạn cần cho Z, nhưng tôi chỉ đoán rằng bạn muốn có mọi sự kết hợp của X và X là tham số cho Z. Sau đó thử:

X = [-5:0.1];
Y = [-5:0.1];
Z = log (exp (kron (những người thân (chiều dài (X), 1), X ).') exp (kron (chiều dài (Y, 1), Y)));

tốt nhấtThêm vào sau khi 5 phút:xin lỗi .... có một số sai lầm .... nó cần phải có được ...

X = [-5:0.1];
Y = [-5:0.1];
Z = log (exp (kron (những người thân (chiều dài (X), 1), X ).') exp (kron (những người thân (chiều dài (X), 1), X)). ');Thêm vào sau khi 15 phút:Xin lỗi người điều tiết, vẫn còn đó là sai lầm nhỏ .... nó cần phải có được ...

X = [-5:0.1:5];
Y = [-5:0.1:5];
Z = log (exp (kron (những người thân (chiều dài (X), 1), X ).') exp (kron (những người thân (chiều dài (Y), 1), Y)));

tức là điểm kinh nghiệm thứ hai () là cho Y và cũng không có điều hành transpose.

tốt nhất

 
Hi,

Tôi đã giải quyết nó

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Smile" border="0" />X = [-5:0.1:5];
Y = [-5:0.1:5];
[Xnew Ynew] = meshgrid (X, Y);
Z = log (exp (Xnew) exp (Ynew));

Kính trọng,
Davy

 
đơn giản hơn so với ở trên là ..[X, Y] = meshgrid (-5:0.1:5);
Z = log (exp (X) exp (Y));
điều này sẽ làm việc tốt.
cũng cố gắng
lướt (X, Y, Z), trong đoạn code trên ở cuối.

 

Welcome to EDABoard.com

Sponsor

Back
Top