2014-09-10 3 views
1

Я хочу построить эту функцию в виде 3D-графиков в MATLAB для двух случаев, может ли кто-нибудь помочь мне? Спасибо.Построение функции в 3D с использованием matlab

f(x,y) = (1-x) + ((2x - 1) y/k) 

где

случай 1)

x = [0,1] // closed unit interval with real values 
y = [0,1] // closed unit interval with real values 
k = 10 is a constant 

корпус 2)

x has domain [0,1] // closed unit interval with real values 
y has domain [0,1] // closed unit interval with real values 
k has domain [0,1] // closed unit interval with real values 
+0

Пробовали ли вы что-нибудь самостоятельно? Прочтите это, а затем о каких-либо конкретных проблемах: http://www.mathworks.com.au/help/matlab/learn_matlab/plots.html#btbe4cc – David

ответ

0

Попробуйте что-то вроде следующего:

%Case 1: 
x = 0:.05:1; 
n = numel(x); 
y = x'; 
X = repmat(x,n,1); 
Y = repmat(y,1,n); 
f = @(x,y) (1-x)+((2*x-1).*y)/10; 
v = f(X,Y); 
figure;mesh(x,y,v); 

%Case 2: 
x = 0:.05:1; 
n = numel(x); 
y = x'; 
X = repmat(x,n,1); 
Y = repmat(y,1,n); 
figure; 
for k = x 
    f = @(x,y) (1-x)+((2*x-1).*y)/k; 
    v = f(X,Y); 
    hold on; 
    mesh(x,y,v); 
end 

Если вы хотите построить поверхность вместо сетки, замените mesh на surf, если вы хотите более мелкую сетку (более подробные и дополнительные функции, нанесенные в случае 2), измените среднее число x = 0:.05:1; на меньшее, например x = 0:.01:1;, и если вы хотите более грубую сетку (меньше деталей и меньше функций, построенных в случае 2), измените среднее число x = 0:.05:1; на нечто большее, например x = 0:.1:1;.

Я надеюсь, что это решает вашу проблему!

1

Это может помочь

[X,Y] = meshgrid(0:.1:1); 
K = 10; 
F = (ones(11) - X) + ((2*X - ones(11)) * Y/K); 
figure 
mesh(F); 

enter image description here

для случая 2

figure 
for K 0:.1:1 
    F = (ones(11) - X) + ((2*X - ones(11)) * Y/K); 
    hold on 
    mesh(F); 
end 

enter image description here

+1

Это умное решение, однако вам нужно изменить 'F = 1- X + ((2 * X - 1) * Y/K), 'to' F = 1-X + ((2 * X - 1). * Y/K); 'фактически построить функцию в вопросе! –

Смежные вопросы